tGtkOptionMenus now work properly with Unicode. - vaccinewars - be a doctor and… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit ca392c09d0ad9ec99575b1c1f868087c880b72f9 | |
parent ba92a3b5696e2dfeb551f9e03006afa93b9b00d6 | |
Author: Ben Webb <[email protected]> | |
Date: Sat, 31 Aug 2002 17:50:52 +0000 | |
GtkOptionMenus now work properly with Unicode. | |
Diffstat: | |
M src/gtkport/gtkport.c | 5 +++-- | |
M src/gtkport/unicodewrap.c | 14 ++++++++++++++ | |
M src/gtkport/unicodewrap.h | 1 + | |
3 files changed, 18 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/src/gtkport/gtkport.c b/src/gtkport/gtkport.c | |
t@@ -4700,8 +4700,9 @@ void gtk_option_menu_set_menu(GtkOptionMenu *option_menu… | |
for (list = GTK_MENU_SHELL(menu)->children; list; | |
list = g_slist_next(list)) { | |
menu_item = GTK_MENU_ITEM(list->data); | |
- if (menu_item && menu_item->text) | |
- mySendMessage(hWnd, CB_ADDSTRING, 0, (LPARAM)menu_item->text); | |
+ if (menu_item && menu_item->text) { | |
+ myComboBox_AddString(hWnd, menu_item->text); | |
+ } | |
} | |
mySendMessage(hWnd, CB_SETCURSEL, (WPARAM)GTK_MENU(menu)->active, 0); | |
} | |
diff --git a/src/gtkport/unicodewrap.c b/src/gtkport/unicodewrap.c | |
t@@ -473,4 +473,18 @@ size_t myw32strlen(const char *str) | |
} | |
} | |
+LRESULT myComboBox_AddString(HWND hWnd, LPCTSTR text) | |
+{ | |
+ LRESULT retval; | |
+ if (unicode_support) { | |
+ gunichar2 *w32text; | |
+ w32text = strtow32(text, -1); | |
+ retval = SendMessageW(hWnd, CB_ADDSTRING, 0, (LPARAM)w32text); | |
+ g_free(w32text); | |
+ } else { | |
+ retval = SendMessageA(hWnd, CB_ADDSTRING, 0, (LPARAM)text); | |
+ } | |
+ return retval; | |
+} | |
+ | |
#endif /* CYGWIN */ | |
diff --git a/src/gtkport/unicodewrap.h b/src/gtkport/unicodewrap.h | |
t@@ -66,6 +66,7 @@ BOOL myGetMessage(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, | |
LONG myDispatchMessage(CONST MSG *lpmsg); | |
BOOL myIsDialogMessage(HWND hDlg, LPMSG lpMsg); | |
size_t myw32strlen(const char *str); | |
+LRESULT myComboBox_AddString(HWND hWnd, LPCTSTR text); | |
#endif /* CYGWIN */ | |