comparison gtk/dw.c @ 1091:99899e6b51c2

Fixed problem with missing menubar on GTK2. Also switched to using GPOINTER_TO_INT() and GINT_TO_POINTER() to avoid compiler warnings on 64bit systems in *most* places. There are still some more complicated warnings to go... maybe we need similar macros to avoid warnings on the other platforms as well.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 29 Jun 2011 17:35:00 +0000
parents 97c221691665
children 84473658ce37
comparison
equal deleted inserted replaced
1090:b905fd8e7fd1 1091:99899e6b51c2
1212 return NULL; 1212 return NULL;
1213 } 1213 }
1214 1214
1215 static SignalHandler _get_signal_handler(GtkWidget *widget, gpointer data) 1215 static SignalHandler _get_signal_handler(GtkWidget *widget, gpointer data)
1216 { 1216 {
1217 int counter = (int)data; 1217 int counter = GPOINTER_TO_INT(data);
1218 SignalHandler sh; 1218 SignalHandler sh;
1219 char text[100]; 1219 char text[100];
1220 1220
1221 sprintf(text, "_dw_sigwindow%d", counter); 1221 sprintf(text, "_dw_sigwindow%d", counter);
1222 sh.window = (HWND)gtk_object_get_data(GTK_OBJECT(widget), text); 1222 sh.window = (HWND)gtk_object_get_data(GTK_OBJECT(widget), text);
1225 sprintf(text, "_dw_intfunc%d", counter); 1225 sprintf(text, "_dw_intfunc%d", counter);
1226 sh.intfunc = (void *)gtk_object_get_data(GTK_OBJECT(widget), text); 1226 sh.intfunc = (void *)gtk_object_get_data(GTK_OBJECT(widget), text);
1227 sprintf(text, "_dw_sigdata%d", counter); 1227 sprintf(text, "_dw_sigdata%d", counter);
1228 sh.data = gtk_object_get_data(GTK_OBJECT(widget), text); 1228 sh.data = gtk_object_get_data(GTK_OBJECT(widget), text);
1229 sprintf(text, "_dw_sigcid%d", counter); 1229 sprintf(text, "_dw_sigcid%d", counter);
1230 sh.cid = (gint)gtk_object_get_data(GTK_OBJECT(widget), text); 1230 sh.cid = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(widget), text));
1231 1231
1232 return sh; 1232 return sh;
1233 } 1233 }
1234 1234
1235 static void _remove_signal_handler(GtkWidget *widget, int counter) 1235 static void _remove_signal_handler(GtkWidget *widget, int counter)
1236 { 1236 {
1237 char text[100]; 1237 char text[100];
1238 gint cid; 1238 gint cid;
1239 1239
1240 sprintf(text, "_dw_sigcid%d", counter); 1240 sprintf(text, "_dw_sigcid%d", counter);
1241 cid = (gint)gtk_object_get_data(GTK_OBJECT(widget), text); 1241 cid = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(widget), text));
1242 gtk_signal_disconnect(GTK_OBJECT(widget), cid); 1242 gtk_signal_disconnect(GTK_OBJECT(widget), cid);
1243 gtk_object_set_data(GTK_OBJECT(widget), text, NULL); 1243 gtk_object_set_data(GTK_OBJECT(widget), text, NULL);
1244 sprintf(text, "_dw_sigwindow%d", counter); 1244 sprintf(text, "_dw_sigwindow%d", counter);
1245 gtk_object_set_data(GTK_OBJECT(widget), text, NULL); 1245 gtk_object_set_data(GTK_OBJECT(widget), text, NULL);
1246 sprintf(text, "_dw_sigfunc%d", counter); 1246 sprintf(text, "_dw_sigfunc%d", counter);
1251 gtk_object_set_data(GTK_OBJECT(widget), text, NULL); 1251 gtk_object_set_data(GTK_OBJECT(widget), text, NULL);
1252 } 1252 }
1253 1253
1254 static int _set_signal_handler(GtkWidget *widget, HWND window, void *func, gpointer data, void *intfunc) 1254 static int _set_signal_handler(GtkWidget *widget, HWND window, void *func, gpointer data, void *intfunc)
1255 { 1255 {
1256 int counter = (int)gtk_object_get_data(GTK_OBJECT(widget), "_dw_sigcounter"); 1256 int counter = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(widget), "_dw_sigcounter"));
1257 char text[100]; 1257 char text[100];
1258 1258
1259 sprintf(text, "_dw_sigwindow%d", counter); 1259 sprintf(text, "_dw_sigwindow%d", counter);
1260 gtk_object_set_data(GTK_OBJECT(widget), text, (gpointer)window); 1260 gtk_object_set_data(GTK_OBJECT(widget), text, (gpointer)window);
1261 sprintf(text, "_dw_sigfunc%d", counter); 1261 sprintf(text, "_dw_sigfunc%d", counter);
1844 return FALSE; 1844 return FALSE;
1845 } 1845 }
1846 1846
1847 static GdkPixmap *_find_private_pixmap(GdkBitmap **bitmap, HICN icon, unsigned long *userwidth, unsigned long *userheight) 1847 static GdkPixmap *_find_private_pixmap(GdkBitmap **bitmap, HICN icon, unsigned long *userwidth, unsigned long *userheight)
1848 { 1848 {
1849 int id = (int)icon; 1849 int id = GPOINTER_TO_INT(icon);
1850 1850
1851 if(id < _PixmapCount && _PixmapArray[id].used) 1851 if(id < _PixmapCount && _PixmapArray[id].used)
1852 { 1852 {
1853 *bitmap = _PixmapArray[id].mask; 1853 *bitmap = _PixmapArray[id].mask;
1854 if(userwidth) 1854 if(userwidth)
1861 } 1861 }
1862 1862
1863 static GdkPixmap *_find_pixmap(GdkBitmap **bitmap, HICN icon, HWND handle, unsigned long *userwidth, unsigned long *userheight) 1863 static GdkPixmap *_find_pixmap(GdkBitmap **bitmap, HICN icon, HWND handle, unsigned long *userwidth, unsigned long *userheight)
1864 { 1864 {
1865 char *data = NULL; 1865 char *data = NULL;
1866 int z, id = (int)icon; 1866 int z, id = GPOINTER_TO_INT(icon);
1867 1867
1868 if(id & (1 << 31)) 1868 if(id & (1 << 31))
1869 return _find_private_pixmap(bitmap, (HICN)(id & 0xFFFFFF), userwidth, userheight); 1869 return _find_private_pixmap(bitmap, (HICN)(id & 0xFFFFFF), userwidth, userheight);
1870 1870
1871 for(z=0;z<_resources.resource_max;z++) 1871 for(z=0;z<_resources.resource_max;z++)
1901 } 1901 }
1902 1902
1903 #if GTK_MAJOR_VERSION > 1 1903 #if GTK_MAJOR_VERSION > 1
1904 static GdkPixbuf *_find_private_pixbuf(HICN icon) 1904 static GdkPixbuf *_find_private_pixbuf(HICN icon)
1905 { 1905 {
1906 int id = (int)icon; 1906 int id = GPOINTER_TO_INT(icon);
1907 1907
1908 if(id < _PixmapCount && _PixmapArray[id].used) 1908 if(id < _PixmapCount && _PixmapArray[id].used)
1909 return _PixmapArray[id].pixbuf; 1909 return _PixmapArray[id].pixbuf;
1910 return NULL; 1910 return NULL;
1911 } 1911 }
1912 1912
1913 static GdkPixbuf *_find_pixbuf(HICN icon) 1913 static GdkPixbuf *_find_pixbuf(HICN icon)
1914 { 1914 {
1915 char *data = NULL; 1915 char *data = NULL;
1916 int z, id = (int)icon; 1916 int z, id = GPOINTER_TO_INT(icon);
1917 1917
1918 if(id & (1 << 31)) 1918 if(id & (1 << 31))
1919 return _find_private_pixbuf((HICN)(id & 0xFFFFFF)); 1919 return _find_private_pixbuf((HICN)(id & 0xFFFFFF));
1920 1920
1921 for(z=0;z<_resources.resource_max;z++) 1921 for(z=0;z<_resources.resource_max;z++)
2481 2481
2482 dw_window_set_pos_size(entrywindow, x, y, (text_width+60+extra_width), height); 2482 dw_window_set_pos_size(entrywindow, x, y, (text_width+60+extra_width), height);
2483 2483
2484 dw_window_show(entrywindow); 2484 dw_window_show(entrywindow);
2485 2485
2486 return (int)dw_dialog_wait(dwwait); 2486 return GPOINTER_TO_INT(dw_dialog_wait(dwwait));
2487 } 2487 }
2488 2488
2489 /* 2489 /*
2490 * Minimizes or Iconifies a top-level window. 2490 * Minimizes or Iconifies a top-level window.
2491 * Parameters: 2491 * Parameters:
2584 else 2584 else
2585 #endif 2585 #endif
2586 { 2586 {
2587 if (GTK_WIDGET(handle)->window) 2587 if (GTK_WIDGET(handle)->window)
2588 { 2588 {
2589 int width = (int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_width"); 2589 int width = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), "_dw_width"));
2590 int height = (int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_height"); 2590 int height = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), "_dw_height"));
2591 2591
2592 if (width && height) 2592 if (width && height)
2593 { 2593 {
2594 gtk_widget_set_usize(handle, width, height); 2594 gtk_widget_set_usize(handle, width, height);
2595 gtk_object_set_data(GTK_OBJECT(handle), "_dw_width", GINT_TO_POINTER(0)); 2595 gtk_object_set_data(GTK_OBJECT(handle), "_dw_width", GINT_TO_POINTER(0));
3119 3119
3120 _save_gdk_colors(handle, forecolor, backcolor); 3120 _save_gdk_colors(handle, forecolor, backcolor);
3121 3121
3122 if(GTK_IS_CLIST(handle)) 3122 if(GTK_IS_CLIST(handle))
3123 { 3123 {
3124 int z, rowcount = (int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_rowcount"); 3124 int z, rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), "_dw_rowcount"));
3125 3125
3126 for(z=0;z<rowcount;z++) 3126 for(z=0;z<rowcount;z++)
3127 { 3127 {
3128 gtk_clist_set_foreground(GTK_CLIST(handle), z, &forecolor); 3128 gtk_clist_set_foreground(GTK_CLIST(handle), z, &forecolor);
3129 gtk_clist_set_background(GTK_CLIST(handle), z, &backcolor); 3129 gtk_clist_set_background(GTK_CLIST(handle), z, &backcolor);
3665 3665
3666 DW_MUTEX_LOCK; 3666 DW_MUTEX_LOCK;
3667 accel = _removetilde(tempbuf, title); 3667 accel = _removetilde(tempbuf, title);
3668 3668
3669 accel_group = (GtkAccelGroup *)gtk_object_get_data(GTK_OBJECT(menu), "_dw_accel"); 3669 accel_group = (GtkAccelGroup *)gtk_object_get_data(GTK_OBJECT(menu), "_dw_accel");
3670 submenucount = (int)gtk_object_get_data(GTK_OBJECT(menu), "_dw_submenucount"); 3670 submenucount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(menu), "_dw_submenucount"));
3671 3671
3672 if (strlen(tempbuf) == 0) 3672 if (strlen(tempbuf) == 0)
3673 tmphandle=gtk_menu_item_new(); 3673 tmphandle=gtk_menu_item_new();
3674 else 3674 else
3675 { 3675 {
3716 3716
3717 sprintf(tempbuf, "_dw_submenu%d", submenucount); 3717 sprintf(tempbuf, "_dw_submenu%d", submenucount);
3718 submenucount++; 3718 submenucount++;
3719 gtk_menu_item_set_submenu(GTK_MENU_ITEM(tmphandle), submenu); 3719 gtk_menu_item_set_submenu(GTK_MENU_ITEM(tmphandle), submenu);
3720 gtk_object_set_data(GTK_OBJECT(menu), tempbuf, (gpointer)submenu); 3720 gtk_object_set_data(GTK_OBJECT(menu), tempbuf, (gpointer)submenu);
3721 gtk_object_set_data(GTK_OBJECT(menu), "_dw_submenucount", (gpointer)submenucount); 3721 gtk_object_set_data(GTK_OBJECT(menu), "_dw_submenucount", GINT_TO_POINTER(submenucount));
3722 } 3722 }
3723 3723
3724 if (GTK_IS_MENU_BAR(menu)) 3724 if (GTK_IS_MENU_BAR(menu))
3725 gtk_menu_bar_append(GTK_MENU_BAR(menu), tmphandle); 3725 gtk_menu_bar_append(GTK_MENU_BAR(menu), tmphandle);
3726 else 3726 else
3746 } 3746 }
3747 3747
3748 GtkWidget *_find_submenu_id(GtkWidget *start, char *name) 3748 GtkWidget *_find_submenu_id(GtkWidget *start, char *name)
3749 { 3749 {
3750 GtkWidget *tmp; 3750 GtkWidget *tmp;
3751 int z, submenucount = (int)gtk_object_get_data(GTK_OBJECT(start), "_dw_submenucount"); 3751 int z, submenucount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(start), "_dw_submenucount"));
3752 3752
3753 if((tmp = gtk_object_get_data(GTK_OBJECT(start), name))) 3753 if((tmp = gtk_object_get_data(GTK_OBJECT(start), name)))
3754 return tmp; 3754 return tmp;
3755 3755
3756 for(z=0;z<submenucount;z++) 3756 for(z=0;z<submenucount;z++)
4164 gtk_object_set_user_data(GTK_OBJECT(tmp), NULL); 4164 gtk_object_set_user_data(GTK_OBJECT(tmp), NULL);
4165 gtk_widget_show(tmp); 4165 gtk_widget_show(tmp);
4166 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); 4166 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
4167 4167
4168 sigid = _set_signal_handler(GTK_COMBO(tmp)->list, tmp, NULL, NULL, NULL); 4168 sigid = _set_signal_handler(GTK_COMBO(tmp)->list, tmp, NULL, NULL, NULL);
4169 cid = gtk_signal_connect(GTK_OBJECT(GTK_COMBO(tmp)->list), "select_child", GTK_SIGNAL_FUNC(_item_select_event), (gpointer)sigid); 4169 cid = gtk_signal_connect(GTK_OBJECT(GTK_COMBO(tmp)->list), "select_child", GTK_SIGNAL_FUNC(_item_select_event), GINT_TO_POINTER(sigid));
4170 _set_signal_handler_id(GTK_COMBO(tmp)->list, sigid, cid); 4170 _set_signal_handler_id(GTK_COMBO(tmp)->list, sigid, cid);
4171 DW_MUTEX_UNLOCK; 4171 DW_MUTEX_UNLOCK;
4172 return tmp; 4172 return tmp;
4173 } 4173 }
4174 4174
4818 } 4818 }
4819 while(list) 4819 while(list)
4820 { 4820 {
4821 if(GTK_IS_WIDGET(list->data)) 4821 if(GTK_IS_WIDGET(list->data))
4822 { 4822 {
4823 if(id == (int)gtk_object_get_data(GTK_OBJECT(list->data), "_dw_id")) 4823 if(id == GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(list->data), "_dw_id")))
4824 { 4824 {
4825 HWND ret = (HWND)list->data; 4825 HWND ret = (HWND)list->data;
4826 g_list_free(orig); 4826 g_list_free(orig);
4827 DW_MUTEX_UNLOCK; 4827 DW_MUTEX_UNLOCK;
4828 return ret; 4828 return ret;
6452 if(!clist) 6452 if(!clist)
6453 { 6453 {
6454 DW_MUTEX_UNLOCK; 6454 DW_MUTEX_UNLOCK;
6455 return DW_ERROR_GENERAL; 6455 return DW_ERROR_GENERAL;
6456 } 6456 }
6457 multi = (int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_multi"); 6457 multi = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), "_dw_multi"));
6458 gtk_object_set_data(GTK_OBJECT(handle), "_dw_multi", GINT_TO_POINTER(multi)); 6458 gtk_object_set_data(GTK_OBJECT(handle), "_dw_multi", GINT_TO_POINTER(multi));
6459 6459
6460 gtk_clist_set_column_auto_resize(GTK_CLIST(clist), 0, TRUE); 6460 gtk_clist_set_column_auto_resize(GTK_CLIST(clist), 0, TRUE);
6461 if(multi) 6461 if(multi)
6462 gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_EXTENDED); 6462 gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_EXTENDED);
6826 { 6826 {
6827 DW_MUTEX_UNLOCK; 6827 DW_MUTEX_UNLOCK;
6828 return NULL; 6828 return NULL;
6829 } 6829 }
6830 6830
6831 count = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_colcount"); 6831 count = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_colcount"));
6832 prevrowcount = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"); 6832 prevrowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"));
6833 6833
6834 if(!count) 6834 if(!count)
6835 { 6835 {
6836 DW_MUTEX_UNLOCK; 6836 DW_MUTEX_UNLOCK;
6837 return NULL; 6837 return NULL;
6876 DW_MUTEX_UNLOCK; 6876 DW_MUTEX_UNLOCK;
6877 return; 6877 return;
6878 } 6878 }
6879 6879
6880 sprintf(numbuf, "%d", column); 6880 sprintf(numbuf, "%d", column);
6881 flag = (int)gtk_object_get_data(GTK_OBJECT(clist), numbuf); 6881 flag = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), numbuf));
6882 if(pointer) 6882 if(pointer)
6883 { 6883 {
6884 row += (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_insertpos"); 6884 row += GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_insertpos"));
6885 } 6885 }
6886 6886
6887 if(flag & DW_CFA_BITMAPORICON) 6887 if(flag & DW_CFA_BITMAPORICON)
6888 { 6888 {
6889 HICN hicon = *((HICN *)data); 6889 HICN hicon = *((HICN *)data);
7048 DW_MUTEX_UNLOCK; 7048 DW_MUTEX_UNLOCK;
7049 return 0; 7049 return 0;
7050 } 7050 }
7051 7051
7052 sprintf(numbuf, "%d", column); 7052 sprintf(numbuf, "%d", column);
7053 flag = (int)gtk_object_get_data(GTK_OBJECT(clist), numbuf); 7053 flag = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), numbuf));
7054 7054
7055 if(flag & DW_CFA_BITMAPORICON) 7055 if(flag & DW_CFA_BITMAPORICON)
7056 rc = DW_CFA_BITMAPORICON; 7056 rc = DW_CFA_BITMAPORICON;
7057 else if(flag & DW_CFA_STRING) 7057 else if(flag & DW_CFA_STRING)
7058 rc = DW_CFA_STRING; 7058 rc = DW_CFA_STRING;
7107 7107
7108 DW_MUTEX_LOCK; 7108 DW_MUTEX_LOCK;
7109 clist = (GtkWidget *)gtk_object_get_user_data(GTK_OBJECT(handle)); 7109 clist = (GtkWidget *)gtk_object_get_user_data(GTK_OBJECT(handle));
7110 if(pointer) 7110 if(pointer)
7111 { 7111 {
7112 row += (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_insertpos"); 7112 row += GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_insertpos"));
7113 } 7113 }
7114 7114
7115 if(clist) 7115 if(clist)
7116 gtk_clist_set_row_data(GTK_CLIST(clist), row, (gpointer)title); 7116 gtk_clist_set_row_data(GTK_CLIST(clist), row, (gpointer)title);
7117 DW_MUTEX_UNLOCK; 7117 DW_MUTEX_UNLOCK;
7176 clist = (GtkWidget*)gtk_object_get_user_data(GTK_OBJECT(handle)); 7176 clist = (GtkWidget*)gtk_object_get_user_data(GTK_OBJECT(handle));
7177 if(clist && GTK_IS_CLIST(clist)) 7177 if(clist && GTK_IS_CLIST(clist))
7178 { 7178 {
7179 int rows, z; 7179 int rows, z;
7180 7180
7181 rows = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"); 7181 rows = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"));
7182 7182
7183 _dw_unselect(clist); 7183 _dw_unselect(clist);
7184 7184
7185 for(z=0;z<rowcount;z++) 7185 for(z=0;z<rowcount;z++)
7186 gtk_clist_remove(GTK_CLIST(clist), 0); 7186 gtk_clist_remove(GTK_CLIST(clist), 0);
7330 { 7330 {
7331 list = GTK_CLIST(clist)->selection; 7331 list = GTK_CLIST(clist)->selection;
7332 7332
7333 if(list) 7333 if(list)
7334 { 7334 {
7335 int counter = 0, pos = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_querypos"); 7335 int counter = 0, pos = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_querypos"));
7336 gtk_object_set_data(GTK_OBJECT(clist), "_dw_querypos", GINT_TO_POINTER(pos+1)); 7336 gtk_object_set_data(GTK_OBJECT(clist), "_dw_querypos", GINT_TO_POINTER(pos+1));
7337 7337
7338 while(list && counter < pos) 7338 while(list && counter < pos)
7339 { 7339 {
7340 list = list->next; 7340 list = list->next;
7352 */ 7352 */
7353 retval = NULL; 7353 retval = NULL;
7354 } 7354 }
7355 else 7355 else
7356 { 7356 {
7357 int pos = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_querypos"); 7357 int pos = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_querypos"));
7358 7358
7359 retval = (char *)gtk_clist_get_row_data(GTK_CLIST(clist), pos); 7359 retval = (char *)gtk_clist_get_row_data(GTK_CLIST(clist), pos);
7360 gtk_object_set_data(GTK_OBJECT(clist), "_dw_querypos", GINT_TO_POINTER(pos+1)); 7360 gtk_object_set_data(GTK_OBJECT(clist), "_dw_querypos", GINT_TO_POINTER(pos+1));
7361 } 7361 }
7362 DW_MUTEX_UNLOCK; 7362 DW_MUTEX_UNLOCK;
7382 if(!clist) 7382 if(!clist)
7383 { 7383 {
7384 DW_MUTEX_UNLOCK; 7384 DW_MUTEX_UNLOCK;
7385 return; 7385 return;
7386 } 7386 }
7387 rowcount = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"); 7387 rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"));
7388 7388
7389 for(z=0;z<rowcount;z++) 7389 for(z=0;z<rowcount;z++)
7390 { 7390 {
7391 rowdata = gtk_clist_get_row_data(GTK_CLIST(clist), z); 7391 rowdata = gtk_clist_get_row_data(GTK_CLIST(clist), z);
7392 if(rowdata == text) 7392 if(rowdata == text)
7427 if(!clist) 7427 if(!clist)
7428 { 7428 {
7429 DW_MUTEX_UNLOCK; 7429 DW_MUTEX_UNLOCK;
7430 return; 7430 return;
7431 } 7431 }
7432 rowcount = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"); 7432 rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"));
7433 7433
7434 for(z=0;z<rowcount;z++) 7434 for(z=0;z<rowcount;z++)
7435 { 7435 {
7436 rowdata = gtk_clist_get_row_data(GTK_CLIST(clist), z); 7436 rowdata = gtk_clist_get_row_data(GTK_CLIST(clist), z);
7437 if(rowdata == text) 7437 if(rowdata == text)
7468 if(!clist) 7468 if(!clist)
7469 { 7469 {
7470 DW_MUTEX_UNLOCK; 7470 DW_MUTEX_UNLOCK;
7471 return; 7471 return;
7472 } 7472 }
7473 colcount = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_colcount"); 7473 colcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_colcount"));
7474 for(z=0;z<colcount;z++) 7474 for(z=0;z<colcount;z++)
7475 { 7475 {
7476 int width = gtk_clist_optimal_column_width(GTK_CLIST(clist), z); 7476 int width = gtk_clist_optimal_column_width(GTK_CLIST(clist), z);
7477 gtk_clist_set_column_width(GTK_CLIST(clist), z, width); 7477 gtk_clist_set_column_width(GTK_CLIST(clist), z, width);
7478 } 7478 }
9161 9161
9162 /* Internal box packing function called by the other 3 functions */ 9162 /* Internal box packing function called by the other 3 functions */
9163 void _dw_box_pack(HWND box, HWND item, int index, int width, int height, int hsize, int vsize, int pad, char *funcname) 9163 void _dw_box_pack(HWND box, HWND item, int index, int width, int height, int hsize, int vsize, int pad, char *funcname)
9164 { 9164 {
9165 int warn = FALSE, _locked_by_me = FALSE; 9165 int warn = FALSE, _locked_by_me = FALSE;
9166 GtkWidget *tmp, *tmpitem, *image = NULL; 9166 GtkWidget *tmp, *tmpitem;
9167 9167
9168 if(!box) 9168 if(!box)
9169 return; 9169 return;
9170 9170
9171 /* 9171 /*
9178 return; 9178 return;
9179 } 9179 }
9180 9180
9181 DW_MUTEX_LOCK; 9181 DW_MUTEX_LOCK;
9182 9182
9183 if((tmp = g_object_get_data(G_OBJECT(box), "_dw_boxhandle"))) 9183 if((tmp = gtk_object_get_data(GTK_OBJECT(box), "_dw_boxhandle")))
9184 box = tmp; 9184 box = tmp;
9185 9185
9186 if(!item) 9186 if(!item)
9187 { 9187 {
9188 item = gtk_label_new(""); 9188 item = gtk_label_new("");
9189 gtk_widget_show_all(item); 9189 gtk_widget_show_all(item);
9190 } 9190 }
9191 else if((image = g_object_get_data(G_OBJECT(item), "_dw_bitmap"))) 9191
9192 { 9192 tmpitem = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(item), "_dw_boxhandle");
9193 GdkPixbuf *pixbuf = gtk_image_get_pixbuf(GTK_IMAGE(image));
9194
9195 if(pixbuf)
9196 {
9197 int pwidth = gdk_pixbuf_get_width(pixbuf);
9198 int pheight = gdk_pixbuf_get_height(pixbuf);
9199
9200 if(pwidth > width || pheight > height)
9201 {
9202 pixbuf = gdk_pixbuf_scale_simple(pixbuf, pwidth > width ? width : pwidth, pheight > height ? height : pheight, GDK_INTERP_BILINEAR);
9203 gtk_image_set_from_pixbuf(GTK_IMAGE(image), pixbuf);
9204 }
9205 }
9206 }
9207
9208 tmpitem = (GtkWidget *)g_object_get_data(G_OBJECT(item), "_dw_boxhandle");
9209 9193
9210 if(GTK_IS_TABLE(box)) 9194 if(GTK_IS_TABLE(box))
9211 { 9195 {
9212 int boxcount = (int)g_object_get_data(G_OBJECT(box), "_dw_boxcount"); 9196 int boxcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(box), "_dw_boxcount"));
9213 int boxtype = (int)g_object_get_data(G_OBJECT(box), "_dw_boxtype"); 9197 int boxtype = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(box), "_dw_boxtype"));
9214 int x, y; 9198 int x, y;
9215 9199
9216 /* If the item being packed is a box, then we use it's padding 9200 /* If the item being packed is a box, then we use it's padding
9217 * instead of the padding specified on the pack line, this is 9201 * instead of the padding specified on the pack line, this is
9218 * due to a bug in the OS/2 and Win32 renderer and a limitation 9202 * due to a bug in the OS/2 and Win32 renderer and a limitation
9219 * of the GtkTable class. 9203 * of the GtkTable class.
9220 */ 9204 */
9221 if(GTK_IS_TABLE(item) || (tmpitem && GTK_IS_TABLE(tmpitem))) 9205 if(GTK_IS_TABLE(item) || (tmpitem && GTK_IS_TABLE(tmpitem)))
9222 { 9206 {
9223 GtkWidget *eventbox = (GtkWidget *)g_object_get_data(G_OBJECT(item), "_dw_eventbox"); 9207 GtkWidget *eventbox = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(item), "_dw_eventbox");
9224 9208
9225 /* NOTE: I left in the ability to pack boxes with a size, 9209 /* NOTE: I left in the ability to pack boxes with a size,
9226 * this eliminates that by forcing the size to 0. 9210 * this eliminates that by forcing the size to 0.
9227 */ 9211 */
9228 height = width = 0; 9212 height = width = 0;
9229 9213
9230 if(eventbox) 9214 if(eventbox)
9231 { 9215 {
9232 int boxpad = (int)g_object_get_data(G_OBJECT(item), "_dw_boxpad"); 9216 int boxpad = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(item), "_dw_boxpad"));
9233 gtk_container_add(GTK_CONTAINER(eventbox), item); 9217 gtk_container_add(GTK_CONTAINER(eventbox), item);
9234 gtk_container_set_border_width(GTK_CONTAINER(eventbox), boxpad); 9218 gtk_container_set_border_width(GTK_CONTAINER(eventbox), boxpad);
9235 item = eventbox; 9219 item = eventbox;
9236 } 9220 }
9237 } 9221 }
9267 gtk_object_set_data(GTK_OBJECT(box), "_dw_boxcount", GINT_TO_POINTER(boxcount + 1)); 9251 gtk_object_set_data(GTK_OBJECT(box), "_dw_boxcount", GINT_TO_POINTER(boxcount + 1));
9268 gtk_widget_set_usize(item, width, height); 9252 gtk_widget_set_usize(item, width, height);
9269 if(GTK_IS_RADIO_BUTTON(item)) 9253 if(GTK_IS_RADIO_BUTTON(item))
9270 { 9254 {
9271 GSList *group; 9255 GSList *group;
9272 GtkWidget *groupstart = (GtkWidget *)g_object_get_data(G_OBJECT(box), "_dw_group"); 9256 GtkWidget *groupstart = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(box), "_dw_group");
9273 9257
9274 if(groupstart) 9258 if(groupstart)
9275 { 9259 {
9276 group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(groupstart)); 9260 group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(groupstart));
9277 gtk_radio_button_set_group(GTK_RADIO_BUTTON(item), group); 9261 gtk_radio_button_set_group(GTK_RADIO_BUTTON(item), group);
9278 } 9262 }
9279 else 9263 else
9280 g_object_set_data(G_OBJECT(box), "_dw_group", (gpointer)item); 9264 gtk_object_set_data(GTK_OBJECT(box), "_dw_group", (gpointer)item);
9281 } 9265 }
9282 } 9266 }
9283 else 9267 else
9284 { 9268 {
9285 GtkWidget *vbox = g_object_get_data(G_OBJECT(box), "_dw_vbox"); 9269 GtkWidget *vbox = gtk_object_get_data(GTK_OBJECT(box), "_dw_vbox");
9286 9270
9287 if(!vbox) 9271 if(!vbox)
9288 { 9272 {
9289 vbox = gtk_vbox_new(FALSE, 0); 9273 vbox = gtk_vbox_new(FALSE, 0);
9290 g_object_set_data(G_OBJECT(box), "_dw_vbox", vbox); 9274 gtk_object_set_data(GTK_OBJECT(box), "_dw_vbox", vbox);
9291 gtk_container_add(GTK_CONTAINER(box), vbox); 9275 gtk_container_add(GTK_CONTAINER(box), vbox);
9292 gtk_widget_show(vbox); 9276 gtk_widget_show(vbox);
9293 } 9277 }
9294 9278
9295 gtk_container_set_border_width(GTK_CONTAINER(box), pad); 9279 gtk_container_set_border_width(GTK_CONTAINER(box), pad);
9296 9280
9297 if(GTK_IS_TABLE(item) || (tmpitem && GTK_IS_TABLE(tmpitem))) 9281 if(GTK_IS_TABLE(item) || (tmpitem && GTK_IS_TABLE(tmpitem)))
9298 { 9282 {
9299 GtkWidget *eventbox = (GtkWidget *)g_object_get_data(G_OBJECT(item), "_dw_eventbox"); 9283 GtkWidget *eventbox = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(item), "_dw_eventbox");
9300 9284
9301 /* NOTE: I left in the ability to pack boxes with a size, 9285 /* NOTE: I left in the ability to pack boxes with a size,
9302 * this eliminates that by forcing the size to 0. 9286 * this eliminates that by forcing the size to 0.
9303 */ 9287 */
9304 height = width = 0; 9288 height = width = 0;
9305 9289
9306 if(eventbox) 9290 if(eventbox)
9307 { 9291 {
9308 int boxpad = (int)g_object_get_data(G_OBJECT(item), "_dw_boxpad"); 9292 int boxpad = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(item), "_dw_boxpad"));
9309 gtk_container_add(GTK_CONTAINER(eventbox), item); 9293 gtk_container_add(GTK_CONTAINER(eventbox), item);
9310 gtk_container_set_border_width(GTK_CONTAINER(eventbox), boxpad); 9294 gtk_container_set_border_width(GTK_CONTAINER(eventbox), boxpad);
9311 item = eventbox; 9295 item = eventbox;
9312 } 9296 }
9313 } 9297 }
9318 } 9302 }
9319 9303
9320 gtk_box_pack_end(GTK_BOX(vbox), item, TRUE, TRUE, 0); 9304 gtk_box_pack_end(GTK_BOX(vbox), item, TRUE, TRUE, 0);
9321 9305
9322 gtk_widget_set_usize(item, width, height); 9306 gtk_widget_set_usize(item, width, height);
9323 g_object_set_data(G_OBJECT(box), "_dw_user", vbox); 9307 gtk_object_set_user_data(GTK_OBJECT(box), vbox);
9324 } 9308 }
9325 DW_MUTEX_UNLOCK; 9309 DW_MUTEX_UNLOCK;
9326 9310
9327 if(warn) 9311 if(warn)
9328 { 9312 {
9795 { 9779 {
9796 char ptext[100]; 9780 char ptext[100];
9797 int num; 9781 int num;
9798 9782
9799 sprintf(ptext, "_dw_page%d", (int)pageid); 9783 sprintf(ptext, "_dw_page%d", (int)pageid);
9800 num = (int)gtk_object_get_data(GTK_OBJECT(handle), ptext); 9784 num = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), ptext));
9801 realpage = 0xFF & num; 9785 realpage = 0xFF & num;
9802 } 9786 }
9803 9787
9804 if(realpage > -1 && realpage < 256) 9788 if(realpage > -1 && realpage < 256)
9805 { 9789 {
9836 int num, z, realpage = -1, pad, _locked_by_me = FALSE; 9820 int num, z, realpage = -1, pad, _locked_by_me = FALSE;
9837 char ptext[100]; 9821 char ptext[100];
9838 9822
9839 DW_MUTEX_LOCK; 9823 DW_MUTEX_LOCK;
9840 sprintf(ptext, "_dw_page%d", (int)pageid); 9824 sprintf(ptext, "_dw_page%d", (int)pageid);
9841 num = (int)gtk_object_get_data(GTK_OBJECT(handle), ptext); 9825 num = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), ptext));
9842 gtk_object_set_data(GTK_OBJECT(handle), ptext, NULL); 9826 gtk_object_set_data(GTK_OBJECT(handle), ptext, NULL);
9843 pagearray = (GtkWidget **)gtk_object_get_data(GTK_OBJECT(handle), "_dw_pagearray"); 9827 pagearray = (GtkWidget **)gtk_object_get_data(GTK_OBJECT(handle), "_dw_pagearray");
9844 9828
9845 if(!pagearray) 9829 if(!pagearray)
9846 { 9830 {
9870 9854
9871 label = gtk_label_new(text ? text : ""); 9855 label = gtk_label_new(text ? text : "");
9872 9856
9873 if(GTK_IS_TABLE(page)) 9857 if(GTK_IS_TABLE(page))
9874 { 9858 {
9875 pad = (int)gtk_object_get_data(GTK_OBJECT(page), "_dw_boxpad"); 9859 pad = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(page), "_dw_boxpad"));
9876 gtk_container_border_width(GTK_CONTAINER(page), pad); 9860 gtk_container_border_width(GTK_CONTAINER(page), pad);
9877 } 9861 }
9878 9862
9879 if(realpage != -1) 9863 if(realpage != -1)
9880 gtk_notebook_insert_page(GTK_NOTEBOOK(handle), page, label, realpage); 9864 gtk_notebook_insert_page(GTK_NOTEBOOK(handle), page, label, realpage);
10402 if(tmp) 10386 if(tmp)
10403 handle2 = tmp; 10387 handle2 = tmp;
10404 } 10388 }
10405 else if(GTK_IS_COMBO(handle)) 10389 else if(GTK_IS_COMBO(handle))
10406 { 10390 {
10407 retval = (unsigned int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_item"); 10391 retval = GPOINTER_TO_UINT(gtk_object_get_data(GTK_OBJECT(handle), "_dw_item"));
10408 DW_MUTEX_UNLOCK; 10392 DW_MUTEX_UNLOCK;
10409 return retval; 10393 return retval;
10410 } 10394 }
10411 if(GTK_IS_LIST(handle2)) 10395 if(GTK_IS_LIST(handle2))
10412 { 10396 {
10514 10498
10515 /* Reposition the bar according to the percentage */ 10499 /* Reposition the bar according to the percentage */
10516 static gint _splitbar_size_allocate(GtkWidget *widget, GtkAllocation *event, gpointer data) 10500 static gint _splitbar_size_allocate(GtkWidget *widget, GtkAllocation *event, gpointer data)
10517 { 10501 {
10518 float *percent = (float *)gtk_object_get_data(GTK_OBJECT(widget), "_dw_percent"); 10502 float *percent = (float *)gtk_object_get_data(GTK_OBJECT(widget), "_dw_percent");
10519 int lastwidth = (int)gtk_object_get_data(GTK_OBJECT(widget), "_dw_lastwidth"); 10503 int lastwidth = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(widget), "_dw_lastwidth"));
10520 int lastheight = (int)gtk_object_get_data(GTK_OBJECT(widget), "_dw_lastheight"); 10504 int lastheight = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(widget), "_dw_lastheight"));
10521 10505
10522 /* Prevent infinite recursion ;) */ 10506 /* Prevent infinite recursion ;) */
10523 if(!percent || (lastwidth == event->width && lastheight == event->height)) 10507 if(!percent || (lastwidth == event->width && lastheight == event->height))
10524 return FALSE; 10508 return FALSE;
10525 10509
11836 else if (GTK_IS_TREE_VIEW(thiswindow) && strcmp(signame, DW_SIGNAL_ITEM_CONTEXT) == 0) 11820 else if (GTK_IS_TREE_VIEW(thiswindow) && strcmp(signame, DW_SIGNAL_ITEM_CONTEXT) == 0)
11837 { 11821 {
11838 thisfunc = _findsigfunc("tree-context"); 11822 thisfunc = _findsigfunc("tree-context");
11839 11823
11840 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, thisfunc); 11824 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, thisfunc);
11841 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), (gpointer)sigid); 11825 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), GINT_TO_POINTER(sigid));
11842 _set_signal_handler_id(thiswindow, sigid, cid); 11826 _set_signal_handler_id(thiswindow, sigid, cid);
11843 11827
11844 #if 0 11828 #if 0
11845 sigid = _set_signal_handler(window, window, sigfunc, data, thisfunc); 11829 sigid = _set_signal_handler(window, window, sigfunc, data, thisfunc);
11846 cid = gtk_signal_connect(GTK_OBJECT(window), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), (gpointer)sigid); 11830 cid = gtk_signal_connect(GTK_OBJECT(window), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), (gpointer)sigid);
11856 11840
11857 thiswindow = (GtkWidget *)gtk_tree_view_get_selection(GTK_TREE_VIEW(thiswindow)); 11841 thiswindow = (GtkWidget *)gtk_tree_view_get_selection(GTK_TREE_VIEW(thiswindow));
11858 thisname = "changed"; 11842 thisname = "changed";
11859 11843
11860 sigid = _set_signal_handler(treeview, window, sigfunc, data, thisfunc); 11844 sigid = _set_signal_handler(treeview, window, sigfunc, data, thisfunc);
11861 cid = g_signal_connect(G_OBJECT(thiswindow), thisname, (GCallback)thisfunc, (gpointer)sigid); 11845 cid = g_signal_connect(G_OBJECT(thiswindow), thisname, (GCallback)thisfunc, GINT_TO_POINTER(sigid));
11862 _set_signal_handler_id(treeview, sigid, cid); 11846 _set_signal_handler_id(treeview, sigid, cid);
11863 DW_MUTEX_UNLOCK; 11847 DW_MUTEX_UNLOCK;
11864 return; 11848 return;
11865 } 11849 }
11866 else if (GTK_IS_TREE_VIEW(thiswindow) && strcmp(signame, DW_SIGNAL_TREE_EXPAND) == 0) 11850 else if (GTK_IS_TREE_VIEW(thiswindow) && strcmp(signame, DW_SIGNAL_TREE_EXPAND) == 0)
11873 thisfunc = _findsigfunc("tree-context"); 11857 thisfunc = _findsigfunc("tree-context");
11874 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, thisfunc); 11858 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, thisfunc);
11875 11859
11876 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_container_context_func", (gpointer)thisfunc); 11860 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_container_context_func", (gpointer)thisfunc);
11877 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_container_context_data", GINT_TO_POINTER(sigid)); 11861 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_container_context_data", GINT_TO_POINTER(sigid));
11878 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), (gpointer)sigid); 11862 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), GINT_TO_POINTER(sigid));
11879 _set_signal_handler_id(thiswindow, sigid, cid); 11863 _set_signal_handler_id(thiswindow, sigid, cid);
11880 sigid = _set_signal_handler(window, window, sigfunc, data, thisfunc); 11864 sigid = _set_signal_handler(window, window, sigfunc, data, thisfunc);
11881 cid = gtk_signal_connect(GTK_OBJECT(window), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), (gpointer)sigid); 11865 cid = gtk_signal_connect(GTK_OBJECT(window), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), GINT_TO_POINTER(sigid));
11882 _set_signal_handler_id(window, sigid, cid); 11866 _set_signal_handler_id(window, sigid, cid);
11883 DW_MUTEX_UNLOCK; 11867 DW_MUTEX_UNLOCK;
11884 return; 11868 return;
11885 } 11869 }
11886 else if (GTK_IS_TREE(thiswindow) && strcmp(signame, DW_SIGNAL_ITEM_SELECT) == 0) 11870 else if (GTK_IS_TREE(thiswindow) && strcmp(signame, DW_SIGNAL_ITEM_SELECT) == 0)
11906 } 11890 }
11907 #endif 11891 #endif
11908 else if (GTK_IS_CLIST(thiswindow) && strcmp(signame, DW_SIGNAL_ITEM_ENTER) == 0) 11892 else if (GTK_IS_CLIST(thiswindow) && strcmp(signame, DW_SIGNAL_ITEM_ENTER) == 0)
11909 { 11893 {
11910 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, _container_enter_event); 11894 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, _container_enter_event);
11911 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "key_press_event", GTK_SIGNAL_FUNC(_container_enter_event), (gpointer)sigid); 11895 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "key_press_event", GTK_SIGNAL_FUNC(_container_enter_event), GINT_TO_POINTER(sigid));
11912 _set_signal_handler_id(thiswindow, sigid, cid); 11896 _set_signal_handler_id(thiswindow, sigid, cid);
11913 11897
11914 thisname = "button_press_event"; 11898 thisname = "button_press_event";
11915 thisfunc = _findsigfunc(DW_SIGNAL_ITEM_ENTER); 11899 thisfunc = _findsigfunc(DW_SIGNAL_ITEM_ENTER);
11916 } 11900 }
11962 DW_MUTEX_UNLOCK; 11946 DW_MUTEX_UNLOCK;
11963 return; 11947 return;
11964 } 11948 }
11965 11949
11966 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, thisfunc); 11950 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, thisfunc);
11967 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), thisname, GTK_SIGNAL_FUNC(thisfunc),(gpointer)sigid); 11951 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), thisname, GTK_SIGNAL_FUNC(thisfunc),GINT_TO_POINTER(sigid));
11968 _set_signal_handler_id(thiswindow, sigid, cid); 11952 _set_signal_handler_id(thiswindow, sigid, cid);
11969 DW_MUTEX_UNLOCK; 11953 DW_MUTEX_UNLOCK;
11970 } 11954 }
11971 11955
11972 /* 11956 /*
11981 void *thisfunc; 11965 void *thisfunc;
11982 int _locked_by_me = FALSE; 11966 int _locked_by_me = FALSE;
11983 11967
11984 DW_MUTEX_LOCK; 11968 DW_MUTEX_LOCK;
11985 thiswindow = _find_signal_window(window, signame); 11969 thiswindow = _find_signal_window(window, signame);
11986 count = (int)gtk_object_get_data(GTK_OBJECT(thiswindow), "_dw_sigcounter"); 11970 count = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(thiswindow), "_dw_sigcounter"));
11987 thisfunc = _findsigfunc(signame); 11971 thisfunc = _findsigfunc(signame);
11988 11972
11989 for(z=0;z<count;z++) 11973 for(z=0;z<count;z++)
11990 { 11974 {
11991 SignalHandler sh = _get_signal_handler(thiswindow, (gpointer)z); 11975 SignalHandler sh = _get_signal_handler(thiswindow, GINT_TO_POINTER(z));
11992 11976
11993 if(sh.intfunc == thisfunc) 11977 if(sh.intfunc == thisfunc)
11994 _remove_signal_handler(thiswindow, z); 11978 _remove_signal_handler(thiswindow, z);
11995 } 11979 }
11996 DW_MUTEX_UNLOCK; 11980 DW_MUTEX_UNLOCK;
12007 int z, count; 11991 int z, count;
12008 int _locked_by_me = FALSE; 11992 int _locked_by_me = FALSE;
12009 11993
12010 DW_MUTEX_LOCK; 11994 DW_MUTEX_LOCK;
12011 thiswindow = _find_signal_window(window, NULL); 11995 thiswindow = _find_signal_window(window, NULL);
12012 count = (int)gtk_object_get_data(GTK_OBJECT(thiswindow), "_dw_sigcounter"); 11996 count = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(thiswindow), "_dw_sigcounter"));
12013 11997
12014 for(z=0;z<count;z++) 11998 for(z=0;z<count;z++)
12015 _remove_signal_handler(thiswindow, z); 11999 _remove_signal_handler(thiswindow, z);
12016 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_sigcounter", NULL); 12000 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_sigcounter", NULL);
12017 DW_MUTEX_UNLOCK; 12001 DW_MUTEX_UNLOCK;
12029 int z, count; 12013 int z, count;
12030 int _locked_by_me = FALSE; 12014 int _locked_by_me = FALSE;
12031 12015
12032 DW_MUTEX_LOCK; 12016 DW_MUTEX_LOCK;
12033 thiswindow = _find_signal_window(window, NULL); 12017 thiswindow = _find_signal_window(window, NULL);
12034 count = (int)gtk_object_get_data(GTK_OBJECT(thiswindow), "_dw_sigcounter"); 12018 count = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(thiswindow), "_dw_sigcounter"));
12035 12019
12036 for(z=0;z<count;z++) 12020 for(z=0;z<count;z++)
12037 { 12021 {
12038 SignalHandler sh = _get_signal_handler(thiswindow, (gpointer)z); 12022 SignalHandler sh = _get_signal_handler(thiswindow, GINT_TO_POINTER(z));
12039 12023
12040 if(sh.data == data) 12024 if(sh.data == data)
12041 _remove_signal_handler(thiswindow, z); 12025 _remove_signal_handler(thiswindow, z);
12042 } 12026 }
12043 DW_MUTEX_UNLOCK; 12027 DW_MUTEX_UNLOCK;