# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1053021821 0 # Node ID 5cc81d3c2bca8771137dd3e8f0730d7329fc3925 # Parent c1c75e363a91d68817dd377c329344ed83ad84d4 Combobox code was using the old signal handler method. Updated it to thenew signal handler system, and updated dw_listbox_select() to use the same system as dw_listbox_selected_multi() code, but just return thefirst selected item it finds. diff -r c1c75e363a91 -r 5cc81d3c2bca gtk/dw.c --- a/gtk/dw.c Thu May 15 17:36:04 2003 +0000 +++ b/gtk/dw.c Thu May 15 18:03:41 2003 +0000 @@ -2466,8 +2466,8 @@ HWND dw_combobox_new(char *text, unsigned long id) { GtkWidget *tmp; - SignalHandler *work = malloc(sizeof(SignalHandler)); - int _locked_by_me = FALSE; + int sigid, _locked_by_me = FALSE; + gint cid; DW_MUTEX_LOCK; tmp = gtk_combo_new(); @@ -2477,11 +2477,9 @@ gtk_widget_show(tmp); gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", (gpointer)id); - work->window = tmp; - work->func = NULL; - work->data = NULL; - - gtk_signal_connect(GTK_OBJECT(GTK_COMBO(tmp)->list), "select_child", GTK_SIGNAL_FUNC(_item_select_event), work); + sigid = _set_signal_handler(GTK_COMBO(tmp)->list, tmp, NULL, NULL, NULL); + cid = gtk_signal_connect(GTK_OBJECT(GTK_COMBO(tmp)->list), "select_child", GTK_SIGNAL_FUNC(_item_select_event), (gpointer)sigid); + _set_signal_handler_id(GTK_COMBO(tmp)->list, sigid, cid); DW_MUTEX_UNLOCK; return tmp; }