tGtkOptionMenus now work properly with Unicode. - vaccinewars - be a doctor and try to vaccinate the world (HTM) git clone git://src.adamsgaard.dk/vaccinewars (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit ca392c09d0ad9ec99575b1c1f868087c880b72f9 (DIR) parent ba92a3b5696e2dfeb551f9e03006afa93b9b00d6 (HTM) Author: Ben Webb <ben@salilab.org> 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(-) --- (DIR) 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, GtkWidget *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); } (DIR) 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 */ (DIR) 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 */