+2002-05-07 Matthias Clasen <maclas@gmx.de>
+
+ Fix for #79248:
+
+ * gdk/x11/gdkwindow-x11.c (gdk_window_new):
+ (gdk_window_set_events): Always select for property notify for
+ maintaining window state.
+
+ * gdk/x11/gdkevents-x11.c (gdk_event_translate): Only propagate
+ property notifys if they were selected by gdk_window_set_events.
+
Mon May 6 23:48:14 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_map_expanded_rows_helper): call
+2002-05-07 Matthias Clasen <maclas@gmx.de>
+
+ Fix for #79248:
+
+ * gdk/x11/gdkwindow-x11.c (gdk_window_new):
+ (gdk_window_set_events): Always select for property notify for
+ maintaining window state.
+
+ * gdk/x11/gdkevents-x11.c (gdk_event_translate): Only propagate
+ property notifys if they were selected by gdk_window_set_events.
+
Mon May 6 23:48:14 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_map_expanded_rows_helper): call
+2002-05-07 Matthias Clasen <maclas@gmx.de>
+
+ Fix for #79248:
+
+ * gdk/x11/gdkwindow-x11.c (gdk_window_new):
+ (gdk_window_set_events): Always select for property notify for
+ maintaining window state.
+
+ * gdk/x11/gdkevents-x11.c (gdk_event_translate): Only propagate
+ property notifys if they were selected by gdk_window_set_events.
+
Mon May 6 23:48:14 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_map_expanded_rows_helper): call
+2002-05-07 Matthias Clasen <maclas@gmx.de>
+
+ Fix for #79248:
+
+ * gdk/x11/gdkwindow-x11.c (gdk_window_new):
+ (gdk_window_set_events): Always select for property notify for
+ maintaining window state.
+
+ * gdk/x11/gdkevents-x11.c (gdk_event_translate): Only propagate
+ property notifys if they were selected by gdk_window_set_events.
+
Mon May 6 23:48:14 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_map_expanded_rows_helper): call
+2002-05-07 Matthias Clasen <maclas@gmx.de>
+
+ Fix for #79248:
+
+ * gdk/x11/gdkwindow-x11.c (gdk_window_new):
+ (gdk_window_set_events): Always select for property notify for
+ maintaining window state.
+
+ * gdk/x11/gdkevents-x11.c (gdk_event_translate): Only propagate
+ property notifys if they were selected by gdk_window_set_events.
+
Mon May 6 23:48:14 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_map_expanded_rows_helper): call
+2002-05-07 Matthias Clasen <maclas@gmx.de>
+
+ Fix for #79248:
+
+ * gdk/x11/gdkwindow-x11.c (gdk_window_new):
+ (gdk_window_set_events): Always select for property notify for
+ maintaining window state.
+
+ * gdk/x11/gdkevents-x11.c (gdk_event_translate): Only propagate
+ property notifys if they were selected by gdk_window_set_events.
+
Mon May 6 23:48:14 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_map_expanded_rows_helper): call
window = NULL;
window_private = NULL;
event->any.window = NULL;
-
+
if (_gdk_default_filters)
{
/* Apply global filters */
xoffset = 0;
yoffset = 0;
}
-
+
switch (xevent->type)
{
case KeyPress:
if (window_private == NULL)
{
- return_val = FALSE;
+ return_val = FALSE;
break;
}
- event->property.type = GDK_PROPERTY_NOTIFY;
- event->property.window = window;
- event->property.atom = gdk_x11_xatom_to_atom_for_display (display, xevent->xproperty.atom);
- event->property.time = xevent->xproperty.time;
- event->property.state = xevent->xproperty.state;
-
if (xevent->xproperty.atom == gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_STATE") ||
xevent->xproperty.atom == gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_DESKTOP"))
{
/* If window state changed, then synthesize those events. */
- gdk_check_wm_state_changed (event->property.window);
+ gdk_check_wm_state_changed (window);
}
+ if (window_private->event_mask & GDK_PROPERTY_CHANGE_MASK)
+ {
+ event->property.type = GDK_PROPERTY_NOTIFY;
+ event->property.window = window;
+ event->property.atom = gdk_x11_xatom_to_atom_for_display (display, xevent->xproperty.atom);
+ event->property.time = xevent->xproperty.time;
+ event->property.state = xevent->xproperty.state;
+ }
+ else
+ return_val = FALSE;
+
break;
case SelectionClear:
visual = gdk_screen_get_system_visual (screen);
xvisual = ((GdkVisualPrivate*) visual)->xvisual;
- xattributes.event_mask = StructureNotifyMask;
+ xattributes.event_mask = StructureNotifyMask | PropertyChangeMask;
for (i = 0; i < _gdk_nenvent_masks; i++)
{
if (attributes->event_mask & (1 << (i + 1)))
if (!GDK_WINDOW_DESTROYED (window))
{
GDK_WINDOW_OBJECT (window)->event_mask = event_mask;
- xevent_mask = StructureNotifyMask;
+ xevent_mask = StructureNotifyMask | PropertyChangeMask;
for (i = 0; i < _gdk_nenvent_masks; i++)
{
if (event_mask & (1 << (i + 1)))