ui/motif/text.c

changeset 555
0b1bb5687dca
parent 554
28e490aa15e3
child 595
e62047c59658
equal deleted inserted replaced
554:28e490aa15e3 555:0b1bb5687dca
431 UIWIDGET ui_passwordfield_create(UiObject* obj, UiTextFieldArgs args) { 431 UIWIDGET ui_passwordfield_create(UiObject* obj, UiTextFieldArgs args) {
432 return create_textfield(obj, args, FALSE, FALSE); 432 return create_textfield(obj, args, FALSE, FALSE);
433 } 433 }
434 434
435 char* ui_textfield_get(UiString *str) { 435 char* ui_textfield_get(UiString *str) {
436 str->value.free(str->value.ptr); 436 if(str->value.free) {
437 str->value.free(str->value.ptr);
438 }
437 char *value = XmTextFieldGetString(str->obj); 439 char *value = XmTextFieldGetString(str->obj);
438 str->value.ptr = value; 440 str->value.ptr = value;
439 str->value.free = (ui_freefunc)XtFree; 441 str->value.free = (ui_freefunc)XtFree;
440 return value; 442 return value;
441 } 443 }
442 444
443 void ui_textfield_set(UiString *str, const char *value) { 445 void ui_textfield_set(UiString *str, const char *value) {
444 XmTextFieldSetString(str->obj, (void*)value); 446 XmTextFieldSetString(str->obj, (void*)value);
447 if(str->value.free) {
448 str->value.free(str->value.ptr);
449 }
445 str->value.ptr = NULL; 450 str->value.ptr = NULL;
446 str->value.free(str->value.ptr);
447 } 451 }
448 452
449 453
450 454
451 455

mercurial