Mercurial > dwindows
changeset 112:cf0115e38ef0
On multi-widget windows, set the data on all components.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 23 Sep 2002 13:34:03 +0000 |
parents | 1e406d67b178 |
children | 553f3b4f8b5b |
files | gtk/dw.c |
diffstat | 1 files changed, 16 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/gtk/dw.c Sun Sep 22 13:26:34 2002 +0000 +++ b/gtk/dw.c Mon Sep 23 13:34:03 2002 +0000 @@ -5807,7 +5807,19 @@ return; DW_MUTEX_LOCK; - gtk_object_set_data(GTK_OBJECT(window), dataname, (gpointer)data); + if(GTK_IS_OBJECT(window)) + { + if(GTK_IS_SCROLLED_WINDOW(window)) + { + HWND thiswindow = (HWND)gtk_object_get_user_data(GTK_OBJECT(window)); + + if(thiswindow && GTK_IS_OBJECT(thiswindow)) + gtk_object_set_data(GTK_OBJECT(thiswindow), dataname, (gpointer)data); + } + if(GTK_IS_COMBO(window)) + gtk_object_set_data(GTK_OBJECT(GTK_COMBO(window)->entry), dataname, (gpointer)data); + gtk_object_set_data(GTK_OBJECT(window), dataname, (gpointer)data); + } DW_MUTEX_UNLOCK; } @@ -5821,13 +5833,14 @@ void *dw_window_get_data(HWND window, char *dataname) { int _locked_by_me = FALSE; - void *ret; + void *ret = NULL; if(!window) return NULL; DW_MUTEX_LOCK; - ret = (void *)gtk_object_get_data(GTK_OBJECT(window), dataname); + if(GTK_IS_OBJECT(window)) + ret = (void *)gtk_object_get_data(GTK_OBJECT(window), dataname); DW_MUTEX_UNLOCK; return ret; }