Mercurial > dwindows
comparison gtk/dw.c @ 1933:758f49e54566
Enable dw_windows_get_text() to return value of label under GTK.
Support for fullscreen display on GTK.
author | mhessling@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 11 Sep 2017 05:56:04 +0000 |
parents | 3c60066cb16f |
children | a17cc1958369 |
comparison
equal
deleted
inserted
replaced
1932:bf34d9f9dabe | 1933:758f49e54566 |
---|---|
1225 } | 1225 } |
1226 | 1226 |
1227 static SignalHandler _get_signal_handler(gpointer data) | 1227 static SignalHandler _get_signal_handler(gpointer data) |
1228 { | 1228 { |
1229 SignalHandler sh = {0}; | 1229 SignalHandler sh = {0}; |
1230 | 1230 |
1231 if(data) | 1231 if(data) |
1232 { | 1232 { |
1233 void **params = (void **)data; | 1233 void **params = (void **)data; |
1234 int counter = GPOINTER_TO_INT(params[0]); | 1234 int counter = GPOINTER_TO_INT(params[0]); |
1235 GtkWidget *widget = (GtkWidget *)params[2]; | 1235 GtkWidget *widget = (GtkWidget *)params[2]; |
2398 */ | 2398 */ |
2399 void *dw_dialog_wait(DWDialog *dialog) | 2399 void *dw_dialog_wait(DWDialog *dialog) |
2400 { | 2400 { |
2401 void *tmp; | 2401 void *tmp; |
2402 int newprocess = 0; | 2402 int newprocess = 0; |
2403 | 2403 |
2404 if(!dialog) | 2404 if(!dialog) |
2405 return NULL; | 2405 return NULL; |
2406 | 2406 |
2407 /* _dw_thread will be -1 if dw_main hasn't been run yet. */ | 2407 /* _dw_thread will be -1 if dw_main hasn't been run yet. */ |
2408 if(_dw_thread == (pthread_t)-1) | 2408 if(_dw_thread == (pthread_t)-1) |
3603 | 3603 |
3604 if(flStyle & (DW_FCF_BORDER | DW_FCF_DLGBORDER)) | 3604 if(flStyle & (DW_FCF_BORDER | DW_FCF_DLGBORDER)) |
3605 flags |= GDK_DECOR_BORDER; | 3605 flags |= GDK_DECOR_BORDER; |
3606 | 3606 |
3607 #if GTK_MAJOR_VERSION > 1 | 3607 #if GTK_MAJOR_VERSION > 1 |
3608 if(flStyle & DW_FCF_MAXIMIZE) | 3608 if(flStyle & DW_FCF_FULLSCREEN) |
3609 gtk_window_maximize(GTK_WINDOW(tmp)); | 3609 gtk_window_fullscreen(GTK_WINDOW(tmp)); |
3610 | 3610 else |
3611 if(flStyle & DW_FCF_MINIMIZE) | 3611 { |
3612 gtk_window_iconify(GTK_WINDOW(tmp)); | 3612 if(flStyle & DW_FCF_MAXIMIZE) |
3613 gtk_window_maximize(GTK_WINDOW(tmp)); | |
3614 if(flStyle & DW_FCF_MINIMIZE) | |
3615 gtk_window_iconify(GTK_WINDOW(tmp)); | |
3616 } | |
3613 #endif | 3617 #endif |
3614 | 3618 |
3615 #if GTK_CHECK_VERSION(2,10,0) | 3619 #if GTK_CHECK_VERSION(2,10,0) |
3616 /* Either the CLOSEBUTTON or SYSMENU flags should make it deletable */ | 3620 /* Either the CLOSEBUTTON or SYSMENU flags should make it deletable */ |
3617 gtk_window_set_deletable(GTK_WINDOW(tmp), (flStyle & (DW_FCF_CLOSEBUTTON | DW_FCF_SYSMENU)) ? TRUE : FALSE); | 3621 gtk_window_set_deletable(GTK_WINDOW(tmp), (flStyle & (DW_FCF_CLOSEBUTTON | DW_FCF_SYSMENU)) ? TRUE : FALSE); |
4899 */ | 4903 */ |
4900 void dw_window_set_bitmap(HWND handle, unsigned long id, char *filename) | 4904 void dw_window_set_bitmap(HWND handle, unsigned long id, char *filename) |
4901 { | 4905 { |
4902 #if GTK_MAJOR_VERSION > 1 | 4906 #if GTK_MAJOR_VERSION > 1 |
4903 GdkPixbuf *pixbuf = NULL; | 4907 GdkPixbuf *pixbuf = NULL; |
4904 #else | 4908 #else |
4905 GdkBitmap *bitmap = NULL; | 4909 GdkBitmap *bitmap = NULL; |
4906 GdkPixmap *tmp = NULL; | 4910 GdkPixmap *tmp = NULL; |
4907 #endif | 4911 #endif |
4908 int found_ext = 0; | 4912 int found_ext = 0; |
4909 int i; | 4913 int i; |
4916 if(id) | 4920 if(id) |
4917 #if GTK_MAJOR_VERSION > 1 | 4921 #if GTK_MAJOR_VERSION > 1 |
4918 pixbuf = _find_pixbuf((HICN)id); | 4922 pixbuf = _find_pixbuf((HICN)id); |
4919 #else | 4923 #else |
4920 tmp = _find_pixmap(&bitmap, (HICN)id, handle, NULL, NULL); | 4924 tmp = _find_pixmap(&bitmap, (HICN)id, handle, NULL, NULL); |
4921 #endif | 4925 #endif |
4922 else | 4926 else |
4923 { | 4927 { |
4924 char *file = alloca(strlen(filename) + 6); | 4928 char *file = alloca(strlen(filename) + 6); |
4925 #if defined(USE_IMLIB) | 4929 #if defined(USE_IMLIB) |
4926 GdkImlibImage *image; | 4930 GdkImlibImage *image; |
4967 #endif | 4971 #endif |
4968 } | 4972 } |
4969 | 4973 |
4970 #if GTK_MAJOR_VERSION > 1 | 4974 #if GTK_MAJOR_VERSION > 1 |
4971 if (pixbuf) | 4975 if (pixbuf) |
4972 #else | 4976 #else |
4973 if (tmp) | 4977 if (tmp) |
4974 #endif | 4978 #endif |
4975 { | 4979 { |
4976 if ( GTK_IS_BUTTON(handle) ) | 4980 if ( GTK_IS_BUTTON(handle) ) |
4977 { | 4981 { |
4978 #if GTK_MAJOR_VERSION > 1 | 4982 #if GTK_MAJOR_VERSION > 1 |
4979 GtkWidget *pixmap = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(handle), "_dw_bitmap" ); | 4983 GtkWidget *pixmap = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(handle), "_dw_bitmap" ); |
4996 } | 5000 } |
4997 } | 5001 } |
4998 #if GTK_MAJOR_VERSION > 1 | 5002 #if GTK_MAJOR_VERSION > 1 |
4999 if(pixbuf) | 5003 if(pixbuf) |
5000 g_object_unref(pixbuf); | 5004 g_object_unref(pixbuf); |
5001 #endif | 5005 #endif |
5002 DW_MUTEX_UNLOCK; | 5006 DW_MUTEX_UNLOCK; |
5003 } | 5007 } |
5004 | 5008 |
5005 /* | 5009 /* |
5006 * Sets the bitmap used for a given static window. | 5010 * Sets the bitmap used for a given static window. |
5015 */ | 5019 */ |
5016 void dw_window_set_bitmap_from_data(HWND handle, unsigned long id, char *data, int len) | 5020 void dw_window_set_bitmap_from_data(HWND handle, unsigned long id, char *data, int len) |
5017 { | 5021 { |
5018 #if GTK_MAJOR_VERSION > 1 | 5022 #if GTK_MAJOR_VERSION > 1 |
5019 GdkPixbuf *pixbuf = NULL; | 5023 GdkPixbuf *pixbuf = NULL; |
5020 #else | 5024 #else |
5021 GdkBitmap *bitmap = NULL; | 5025 GdkBitmap *bitmap = NULL; |
5022 GdkPixmap *tmp = NULL; | 5026 GdkPixmap *tmp = NULL; |
5023 #endif | 5027 #endif |
5024 int _locked_by_me = FALSE; | 5028 int _locked_by_me = FALSE; |
5025 char *file; | 5029 char *file; |
5067 else if (id) | 5071 else if (id) |
5068 #if GTK_MAJOR_VERSION > 1 | 5072 #if GTK_MAJOR_VERSION > 1 |
5069 pixbuf = _find_pixbuf((HICN)id); | 5073 pixbuf = _find_pixbuf((HICN)id); |
5070 #else | 5074 #else |
5071 tmp = _find_pixmap(&bitmap, (HICN)id, handle, NULL, NULL); | 5075 tmp = _find_pixmap(&bitmap, (HICN)id, handle, NULL, NULL); |
5072 #endif | 5076 #endif |
5073 | 5077 |
5074 #if GTK_MAJOR_VERSION > 1 | 5078 #if GTK_MAJOR_VERSION > 1 |
5075 if (pixbuf) | 5079 if (pixbuf) |
5076 #else | 5080 #else |
5077 if (tmp) | 5081 if (tmp) |
5078 #endif | 5082 #endif |
5079 { | 5083 { |
5080 if ( GTK_IS_BUTTON(handle) ) | 5084 if ( GTK_IS_BUTTON(handle) ) |
5081 { | 5085 { |
5082 #if GTK_MAJOR_VERSION > 1 | 5086 #if GTK_MAJOR_VERSION > 1 |
5083 GtkWidget *pixmap = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(handle), "_dw_bitmap" ); | 5087 GtkWidget *pixmap = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(handle), "_dw_bitmap" ); |
5100 } | 5104 } |
5101 } | 5105 } |
5102 #if GTK_MAJOR_VERSION > 1 | 5106 #if GTK_MAJOR_VERSION > 1 |
5103 if(pixbuf) | 5107 if(pixbuf) |
5104 g_object_unref(pixbuf); | 5108 g_object_unref(pixbuf); |
5105 #endif | 5109 #endif |
5106 DW_MUTEX_UNLOCK; | 5110 DW_MUTEX_UNLOCK; |
5107 } | 5111 } |
5108 | 5112 |
5109 /* | 5113 /* |
5110 * Sets the text used for a given window. | 5114 * Sets the text used for a given window. |
5187 DW_MUTEX_LOCK; | 5191 DW_MUTEX_LOCK; |
5188 if(GTK_IS_ENTRY(handle)) | 5192 if(GTK_IS_ENTRY(handle)) |
5189 possible = gtk_entry_get_text(GTK_ENTRY(handle)); | 5193 possible = gtk_entry_get_text(GTK_ENTRY(handle)); |
5190 else if(GTK_IS_COMBO(handle)) | 5194 else if(GTK_IS_COMBO(handle)) |
5191 possible = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(handle)->entry)); | 5195 possible = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(handle)->entry)); |
5196 else if(GTK_IS_LABEL(handle)) | |
5197 possible = gtk_label_get_text(GTK_LABEL(handle)); | |
5192 | 5198 |
5193 DW_MUTEX_UNLOCK; | 5199 DW_MUTEX_UNLOCK; |
5194 return strdup(possible); | 5200 return strdup(possible); |
5195 } | 5201 } |
5196 | 5202 |
6240 { | 6246 { |
6241 void *thisfunc = (void *)gtk_object_get_data(GTK_OBJECT(tree), "_dw_tree_item_expand_func"); | 6247 void *thisfunc = (void *)gtk_object_get_data(GTK_OBJECT(tree), "_dw_tree_item_expand_func"); |
6242 void *mydata = (void *)gtk_object_get_data(GTK_OBJECT(tree), "_dw_tree_item_expand_data"); | 6248 void *mydata = (void *)gtk_object_get_data(GTK_OBJECT(tree), "_dw_tree_item_expand_data"); |
6243 void **params = calloc(sizeof(void *), 3): | 6249 void **params = calloc(sizeof(void *), 3): |
6244 SignalHandler work; | 6250 SignalHandler work; |
6245 | 6251 |
6246 params[0] = mydata; | 6252 params[0] = mydata; |
6247 params[2] = (void *)tree; | 6253 params[2] = (void *)tree; |
6248 work = _get_signal_handler(mydata); | 6254 work = _get_signal_handler(mydata); |
6249 | 6255 |
6250 if(thisfunc && work.window) | 6256 if(thisfunc && work.window) |
6396 { | 6402 { |
6397 void *thisfunc = (void *)gtk_object_get_data(GTK_OBJECT(tree), "_dw_tree_item_expand_func"); | 6403 void *thisfunc = (void *)gtk_object_get_data(GTK_OBJECT(tree), "_dw_tree_item_expand_func"); |
6398 void *mydata = (void *)gtk_object_get_data(GTK_OBJECT(tree), "_dw_tree_item_expand_data"); | 6404 void *mydata = (void *)gtk_object_get_data(GTK_OBJECT(tree), "_dw_tree_item_expand_data"); |
6399 void **params = calloc(sizeof(void *), 3): | 6405 void **params = calloc(sizeof(void *), 3): |
6400 SignalHandler work; | 6406 SignalHandler work; |
6401 | 6407 |
6402 params[0] = mydata; | 6408 params[0] = mydata; |
6403 params[2] = (void *)tree; | 6409 params[2] = (void *)tree; |
6404 work = _get_signal_handler(mydata); | 6410 work = _get_signal_handler(mydata); |
6405 | 6411 |
6406 if(thisfunc && work.window) | 6412 if(thisfunc && work.window) |
6634 (store = (GtkTreeModel *)gtk_object_get_data(GTK_OBJECT(tree), "_dw_tree_store"))) | 6640 (store = (GtkTreeModel *)gtk_object_get_data(GTK_OBJECT(tree), "_dw_tree_store"))) |
6635 { | 6641 { |
6636 GtkTreeIter iter; | 6642 GtkTreeIter iter; |
6637 | 6643 |
6638 if(gtk_tree_model_iter_parent(store, &iter, (GtkTreeIter *)item)) | 6644 if(gtk_tree_model_iter_parent(store, &iter, (GtkTreeIter *)item)) |
6639 gtk_tree_model_get(store, &iter, 3, &parent, -1); | 6645 gtk_tree_model_get(store, &iter, 3, &parent, -1); |
6640 } | 6646 } |
6641 #else | 6647 #else |
6642 parent = (HTREEITEM)gtk_object_get_data(GTK_OBJECT(item), "_dw_parent"); | 6648 parent = (HTREEITEM)gtk_object_get_data(GTK_OBJECT(item), "_dw_parent"); |
6643 #endif | 6649 #endif |
6644 DW_MUTEX_UNLOCK; | 6650 DW_MUTEX_UNLOCK; |
7679 } | 7685 } |
7680 | 7686 |
7681 void _dw_container_row_data_destroy(gpointer data) | 7687 void _dw_container_row_data_destroy(gpointer data) |
7682 { | 7688 { |
7683 void **params = (void **)data; | 7689 void **params = (void **)data; |
7684 | 7690 |
7685 if(params) | 7691 if(params) |
7686 { | 7692 { |
7687 if(params[0]) | 7693 if(params[0]) |
7688 free(params[0]); | 7694 free(params[0]); |
7689 free(params); | 7695 free(params); |
7707 } | 7713 } |
7708 | 7714 |
7709 if(clist) | 7715 if(clist) |
7710 { | 7716 { |
7711 void **params = (void **)gtk_clist_get_row_data(GTK_CLIST(clist), row); | 7717 void **params = (void **)gtk_clist_get_row_data(GTK_CLIST(clist), row); |
7712 | 7718 |
7713 if(!params) | 7719 if(!params) |
7714 { | 7720 { |
7715 params = (void **)calloc(2, sizeof(void *)); | 7721 params = (void **)calloc(2, sizeof(void *)); |
7716 gtk_clist_set_row_data_full(GTK_CLIST(clist), row, (gpointer)params, _dw_container_row_data_destroy); | 7722 gtk_clist_set_row_data_full(GTK_CLIST(clist), row, (gpointer)params, _dw_container_row_data_destroy); |
7717 } | 7723 } |
7966 GList *list; | 7972 GList *list; |
7967 void *retval = NULL; | 7973 void *retval = NULL; |
7968 int _locked_by_me = FALSE; | 7974 int _locked_by_me = FALSE; |
7969 int type = _DW_DATA_TYPE_STRING; | 7975 int type = _DW_DATA_TYPE_STRING; |
7970 void **params = NULL; | 7976 void **params = NULL; |
7971 | 7977 |
7972 if(flags & DW_CR_RETDATA) | 7978 if(flags & DW_CR_RETDATA) |
7973 type = _DW_DATA_TYPE_POINTER; | 7979 type = _DW_DATA_TYPE_POINTER; |
7974 | 7980 |
7975 DW_MUTEX_LOCK; | 7981 DW_MUTEX_LOCK; |
7976 clist = (GtkWidget*)gtk_object_get_user_data(GTK_OBJECT(handle)); | 7982 clist = (GtkWidget*)gtk_object_get_user_data(GTK_OBJECT(handle)); |
8043 rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount")); | 8049 rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount")); |
8044 | 8050 |
8045 for(z=0;z<rowcount;z++) | 8051 for(z=0;z<rowcount;z++) |
8046 { | 8052 { |
8047 void **params = (void **)gtk_clist_get_row_data(GTK_CLIST(clist), z); | 8053 void **params = (void **)gtk_clist_get_row_data(GTK_CLIST(clist), z); |
8048 | 8054 |
8049 if ( params && ((textcomp && params[0] && strcmp((char *)params[0], (char *)data) == 0) || (!textcomp && params[1] == data)) ) | 8055 if ( params && ((textcomp && params[0] && strcmp((char *)params[0], (char *)data) == 0) || (!textcomp && params[1] == data)) ) |
8050 { | 8056 { |
8051 gfloat pos; | 8057 gfloat pos; |
8052 GtkAdjustment *adj = gtk_clist_get_vadjustment(GTK_CLIST(clist)); | 8058 GtkAdjustment *adj = gtk_clist_get_vadjustment(GTK_CLIST(clist)); |
8053 | 8059 |
8104 rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount")); | 8110 rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount")); |
8105 | 8111 |
8106 for(z=0;z<rowcount;z++) | 8112 for(z=0;z<rowcount;z++) |
8107 { | 8113 { |
8108 void **params = (void **)gtk_clist_get_row_data(GTK_CLIST(clist), z); | 8114 void **params = (void **)gtk_clist_get_row_data(GTK_CLIST(clist), z); |
8109 | 8115 |
8110 if ( params && ((textcomp && params[0] && strcmp((char *)params[0], (char *)data) == 0) || (!textcomp && params[1] == data)) ) | 8116 if ( params && ((textcomp && params[0] && strcmp((char *)params[0], (char *)data) == 0) || (!textcomp && params[1] == data)) ) |
8111 { | 8117 { |
8112 _dw_unselect(clist); | 8118 _dw_unselect(clist); |
8113 | 8119 |
8114 gtk_clist_remove(GTK_CLIST(clist), z); | 8120 gtk_clist_remove(GTK_CLIST(clist), z); |
10115 */ | 10121 */ |
10116 close(GPOINTER_TO_INT(eve)); | 10122 close(GPOINTER_TO_INT(eve)); |
10117 return DW_ERROR_NONE; | 10123 return DW_ERROR_NONE; |
10118 } | 10124 } |
10119 | 10125 |
10120 /* | 10126 /* |
10121 * Generally an internal function called from a newly created | 10127 * Generally an internal function called from a newly created |
10122 * thread to setup the Dynamic Windows environment for the thread. | 10128 * thread to setup the Dynamic Windows environment for the thread. |
10123 * However it is exported so language bindings can call it when | 10129 * However it is exported so language bindings can call it when |
10124 * they create threads that require access to Dynamic Windows. | 10130 * they create threads that require access to Dynamic Windows. |
10125 */ | 10131 */ |
10130 foreground->pixel = foreground->red = foreground->green = foreground->blue = 0; | 10136 foreground->pixel = foreground->red = foreground->green = foreground->blue = 0; |
10131 pthread_setspecific(_dw_fg_color_key, foreground); | 10137 pthread_setspecific(_dw_fg_color_key, foreground); |
10132 pthread_setspecific(_dw_bg_color_key, NULL); | 10138 pthread_setspecific(_dw_bg_color_key, NULL); |
10133 } | 10139 } |
10134 | 10140 |
10135 /* | 10141 /* |
10136 * Generally an internal function called from a terminating | 10142 * Generally an internal function called from a terminating |
10137 * thread to cleanup the Dynamic Windows environment for the thread. | 10143 * thread to cleanup the Dynamic Windows environment for the thread. |
10138 * However it is exported so language bindings can call it when | 10144 * However it is exported so language bindings can call it when |
10139 * they exit threads that require access to Dynamic Windows. | 10145 * they exit threads that require access to Dynamic Windows. |
10140 */ | 10146 */ |
10141 void API _dw_deinit_thread(void) | 10147 void API _dw_deinit_thread(void) |
10142 { | 10148 { |
10143 GdkColor *foreground, *background; | 10149 GdkColor *foreground, *background; |
10144 | 10150 |
10145 if((foreground = pthread_getspecific(_dw_fg_color_key))) | 10151 if((foreground = pthread_getspecific(_dw_fg_color_key))) |
10146 free(foreground); | 10152 free(foreground); |
10147 if((background = pthread_getspecific(_dw_bg_color_key))) | 10153 if((background = pthread_getspecific(_dw_bg_color_key))) |
10148 free(background); | 10154 free(background); |
10149 } | 10155 } |
13666 void (*discfunc)(HWND, void *) = params[1]; | 13672 void (*discfunc)(HWND, void *) = params[1]; |
13667 | 13673 |
13668 if(discfunc) | 13674 if(discfunc) |
13669 { | 13675 { |
13670 SignalHandler work = _get_signal_handler(data); | 13676 SignalHandler work = _get_signal_handler(data); |
13671 | 13677 |
13672 if(work.window) | 13678 if(work.window) |
13673 { | 13679 { |
13674 discfunc(work.window, work.data); | 13680 discfunc(work.window, work.data); |
13675 } | 13681 } |
13676 } | 13682 } |
13780 params[2] = (void *)thiswindow; | 13786 params[2] = (void *)thiswindow; |
13781 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_container_context_func", (gpointer)thisfunc); | 13787 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_container_context_func", (gpointer)thisfunc); |
13782 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_container_context_data", params); | 13788 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_container_context_data", params); |
13783 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), params); | 13789 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), params); |
13784 _set_signal_handler_id(thiswindow, sigid, cid); | 13790 _set_signal_handler_id(thiswindow, sigid, cid); |
13785 | 13791 |
13786 params = calloc(sizeof(void *), 3); | 13792 params = calloc(sizeof(void *), 3); |
13787 sigid = _set_signal_handler(window, window, sigfunc, data, thisfunc); | 13793 sigid = _set_signal_handler(window, window, sigfunc, data, thisfunc); |
13788 params[0] = GINT_TO_POINTER(sigid); | 13794 params[0] = GINT_TO_POINTER(sigid); |
13789 params[2] = (void *)thiswindow; | 13795 params[2] = (void *)thiswindow; |
13790 cid = gtk_signal_connect(GTK_OBJECT(window), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), params); | 13796 cid = gtk_signal_connect(GTK_OBJECT(window), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), params); |
13904 thisfunc = _findsigfunc(signame); | 13910 thisfunc = _findsigfunc(signame); |
13905 | 13911 |
13906 for(z=0;z<count;z++) | 13912 for(z=0;z<count;z++) |
13907 { | 13913 { |
13908 SignalHandler sh; | 13914 SignalHandler sh; |
13909 | 13915 |
13910 params[0] = GINT_TO_POINTER(z); | 13916 params[0] = GINT_TO_POINTER(z); |
13911 sh = _get_signal_handler(params); | 13917 sh = _get_signal_handler(params); |
13912 | 13918 |
13913 if(sh.intfunc == thisfunc) | 13919 if(sh.intfunc == thisfunc) |
13914 _remove_signal_handler((HWND)params[2], z); | 13920 _remove_signal_handler((HWND)params[2], z); |
13954 count = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(params[2]), "_dw_sigcounter")); | 13960 count = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(params[2]), "_dw_sigcounter")); |
13955 | 13961 |
13956 for(z=0;z<count;z++) | 13962 for(z=0;z<count;z++) |
13957 { | 13963 { |
13958 SignalHandler sh; | 13964 SignalHandler sh; |
13959 | 13965 |
13960 params[0] = GINT_TO_POINTER(z); | 13966 params[0] = GINT_TO_POINTER(z); |
13961 sh = _get_signal_handler(params); | 13967 sh = _get_signal_handler(params); |
13962 | 13968 |
13963 if(sh.data == data) | 13969 if(sh.data == data) |
13964 _remove_signal_handler((HWND)params[2], z); | 13970 _remove_signal_handler((HWND)params[2], z); |