diff --git a/libs/tk/ydk/gdkwindow.c b/libs/tk/ydk/gdkwindow.c index 4fd12edaa0..9c9bd9e396 100644 --- a/libs/tk/ydk/gdkwindow.c +++ b/libs/tk/ydk/gdkwindow.c @@ -159,6 +159,7 @@ typedef struct { int dx, dy; /* The amount that the source was moved to reach dest_region */ } GdkWindowRegionMove; +void (*_gdk_modal_motify)(GdkWindowModalNotify) = 0; /* Global info */ @@ -11408,6 +11409,11 @@ gdk_window_get_height (GdkWindow *window) return height; } +void +gdk_window_set_modal_notify (void (*modal_notify)(GdkWindow*,gboolean)) +{ + _gdk_modal_motify = modal_notify; +} #define __GDK_WINDOW_C__ #include "gdkaliasdef.c" diff --git a/libs/tk/ydk/quartz/gdkwindow-quartz.c b/libs/tk/ydk/quartz/gdkwindow-quartz.c index 4cab5aab9a..5dac19923a 100644 --- a/libs/tk/ydk/quartz/gdkwindow-quartz.c +++ b/libs/tk/ydk/quartz/gdkwindow-quartz.c @@ -2389,6 +2389,9 @@ gdk_window_set_modal_hint (GdkWindow *window, !WINDOW_IS_TOPLEVEL (window)) return; + if (_gdk_modal_notify) { + _gdk_modal_notify (window, modal); + } /* FIXME: Implement */ } diff --git a/libs/tk/ydk/ydk/gdk/gdkinternals.h b/libs/tk/ydk/ydk/gdk/gdkinternals.h index 289878b1d4..39c6e25ec4 100644 --- a/libs/tk/ydk/ydk/gdk/gdkinternals.h +++ b/libs/tk/ydk/ydk/gdk/gdkinternals.h @@ -709,6 +709,8 @@ void _gdk_offscreen_window_new (GdkWindow *window, void _gdk_image_exit (void); void _gdk_windowing_exit (void); +extern void (*_gdk_modal_motify)(GdkWindowModalNotify); + G_END_DECLS #endif /* __GDK_INTERNALS_H__ */ diff --git a/libs/tk/ydk/ydk/gdk/gdkwindow.h b/libs/tk/ydk/ydk/gdk/gdkwindow.h index 572797b955..d060ba0e0a 100644 --- a/libs/tk/ydk/ydk/gdk/gdkwindow.h +++ b/libs/tk/ydk/ydk/gdk/gdkwindow.h @@ -406,7 +406,7 @@ void gdk_window_move_region (GdkWindow *window, gint dy); gboolean gdk_window_ensure_native (GdkWindow *window); -/* +/* * This allows for making shaped (partially transparent) windows * - cool feature, needed for Drag and Drag for example. * The shape_mask can be the mask @@ -508,6 +508,9 @@ gboolean gdk_window_get_modal_hint (GdkWindow *window); void gdk_window_set_modal_hint (GdkWindow *window, gboolean modal); +typedef void (*GdkWindowModalNotify)(GdkWindow*,gboolean); +void gdk_window_set_modal_notify (GdkWindowModalNotify); + void gdk_window_set_skip_taskbar_hint (GdkWindow *window, gboolean skips_taskbar); void gdk_window_set_skip_pager_hint (GdkWindow *window,