]> Pileus Git - ~andy/gtk/commitdiff
Add sensitivity-changing timeout. Written by Christian Persch.
authorSøren Sandmann <sandmann@redhat.com>
Wed, 22 Dec 2004 19:25:24 +0000 (19:25 +0000)
committerSøren Sandmann Pedersen <ssp@src.gnome.org>
Wed, 22 Dec 2004 19:25:24 +0000 (19:25 +0000)
Wed Dec 22 14:22:19 2004  Søren Sandmann  <sandmann@redhat.com>

* tests/testtoolbar.c (timeout_cb): Add sensitivity-changing
timeout. Written by Christian Persch.

Wed Dec 22 14:14:02 2004  Søren Sandmann  <sandmann@redhat.com>

Bug #161561

* gdk/x11/gdkwindow-x11.c (tmp_{re,un}set_bg): Only set/reset the
background for windows that get expose events.

* gdk/gdkwindow.c (gdk_window_process_updates_internal): Remove
hack to repaint !expose windows.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/gdkwindow.c
gdk/x11/gdkwindow-x11.c
tests/testtoolbar.c

index fb25b987faa9863118aa93bc74417d4a40f6209f..90cd56e70480ad69f87584bdf67da9cb6991057e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+Wed Dec 22 14:22:19 2004  Søren Sandmann  <sandmann@redhat.com>
+
+       * tests/testtoolbar.c (timeout_cb): Add sensitivity-changing
+       timeout. Written by Christian Persch.
+
+Wed Dec 22 14:14:02 2004  Søren Sandmann  <sandmann@redhat.com>
+
+       Bug #161561
+       
+       * gdk/x11/gdkwindow-x11.c (tmp_{re,un}set_bg): Only set/reset the
+       background for windows that get expose events. 
+
+       * gdk/gdkwindow.c (gdk_window_process_updates_internal): Remove
+       hack to repaint !expose windows.
+
+Wed Dec 22 11:35:41 2004  Søren Sandmann  <sandmann@redhat.com>
+
+       Bug #147497, make menu items activate immediately when you release
+       the button.
+       
+       * gtk/gtkmenu.c (gtk_menu_enter_notify, menu_motion_notify): Make
+       items activate immediately.
+
+       * gtk/gtkmenu.c (definitely_within_item): New function
+       * gtk/gtkmenu.c (check_threshold): New function
+
 2004-12-22  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtklabel.c (gtk_label_setup_mnemonic): Don't forget to
@@ -26,7 +52,6 @@ Wed Dec 22 01:24:01 2004  Jonathan Blandford  <jrb@redhat.com>
        * gtk/queryimmodules.c (main): print out the version and binary
        name in the header comment.  Problem reported by Seth Nickell.
 
->>>>>>> 1.6232
 2004-12-20  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): Pass a
@@ -65,6 +90,7 @@ Wed Dec 22 01:24:01 2004  Jonathan Blandford  <jrb@redhat.com>
        (gtk_about_dialog_init): Add missing initializations.  (#161646,
        Torsten Schoenfeld)
 
+>>>>>>> 1.6233
 2004-12-16  Matthias Clasen  <mclasen@redhat.com>
 
        * configure.in: Bump version
index fb25b987faa9863118aa93bc74417d4a40f6209f..90cd56e70480ad69f87584bdf67da9cb6991057e 100644 (file)
@@ -1,3 +1,29 @@
+Wed Dec 22 14:22:19 2004  Søren Sandmann  <sandmann@redhat.com>
+
+       * tests/testtoolbar.c (timeout_cb): Add sensitivity-changing
+       timeout. Written by Christian Persch.
+
+Wed Dec 22 14:14:02 2004  Søren Sandmann  <sandmann@redhat.com>
+
+       Bug #161561
+       
+       * gdk/x11/gdkwindow-x11.c (tmp_{re,un}set_bg): Only set/reset the
+       background for windows that get expose events. 
+
+       * gdk/gdkwindow.c (gdk_window_process_updates_internal): Remove
+       hack to repaint !expose windows.
+
+Wed Dec 22 11:35:41 2004  Søren Sandmann  <sandmann@redhat.com>
+
+       Bug #147497, make menu items activate immediately when you release
+       the button.
+       
+       * gtk/gtkmenu.c (gtk_menu_enter_notify, menu_motion_notify): Make
+       items activate immediately.
+
+       * gtk/gtkmenu.c (definitely_within_item): New function
+       * gtk/gtkmenu.c (check_threshold): New function
+
 2004-12-22  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtklabel.c (gtk_label_setup_mnemonic): Don't forget to
@@ -26,7 +52,6 @@ Wed Dec 22 01:24:01 2004  Jonathan Blandford  <jrb@redhat.com>
        * gtk/queryimmodules.c (main): print out the version and binary
        name in the header comment.  Problem reported by Seth Nickell.
 
->>>>>>> 1.6232
 2004-12-20  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): Pass a
@@ -65,6 +90,7 @@ Wed Dec 22 01:24:01 2004  Jonathan Blandford  <jrb@redhat.com>
        (gtk_about_dialog_init): Add missing initializations.  (#161646,
        Torsten Schoenfeld)
 
+>>>>>>> 1.6233
 2004-12-16  Matthias Clasen  <mclasen@redhat.com>
 
        * configure.in: Bump version
index fb25b987faa9863118aa93bc74417d4a40f6209f..90cd56e70480ad69f87584bdf67da9cb6991057e 100644 (file)
@@ -1,3 +1,29 @@
+Wed Dec 22 14:22:19 2004  Søren Sandmann  <sandmann@redhat.com>
+
+       * tests/testtoolbar.c (timeout_cb): Add sensitivity-changing
+       timeout. Written by Christian Persch.
+
+Wed Dec 22 14:14:02 2004  Søren Sandmann  <sandmann@redhat.com>
+
+       Bug #161561
+       
+       * gdk/x11/gdkwindow-x11.c (tmp_{re,un}set_bg): Only set/reset the
+       background for windows that get expose events. 
+
+       * gdk/gdkwindow.c (gdk_window_process_updates_internal): Remove
+       hack to repaint !expose windows.
+
+Wed Dec 22 11:35:41 2004  Søren Sandmann  <sandmann@redhat.com>
+
+       Bug #147497, make menu items activate immediately when you release
+       the button.
+       
+       * gtk/gtkmenu.c (gtk_menu_enter_notify, menu_motion_notify): Make
+       items activate immediately.
+
+       * gtk/gtkmenu.c (definitely_within_item): New function
+       * gtk/gtkmenu.c (check_threshold): New function
+
 2004-12-22  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtklabel.c (gtk_label_setup_mnemonic): Don't forget to
@@ -26,7 +52,6 @@ Wed Dec 22 01:24:01 2004  Jonathan Blandford  <jrb@redhat.com>
        * gtk/queryimmodules.c (main): print out the version and binary
        name in the header comment.  Problem reported by Seth Nickell.
 
->>>>>>> 1.6232
 2004-12-20  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): Pass a
@@ -65,6 +90,7 @@ Wed Dec 22 01:24:01 2004  Jonathan Blandford  <jrb@redhat.com>
        (gtk_about_dialog_init): Add missing initializations.  (#161646,
        Torsten Schoenfeld)
 
+>>>>>>> 1.6233
 2004-12-16  Matthias Clasen  <mclasen@redhat.com>
 
        * configure.in: Bump version
index fb25b987faa9863118aa93bc74417d4a40f6209f..90cd56e70480ad69f87584bdf67da9cb6991057e 100644 (file)
@@ -1,3 +1,29 @@
+Wed Dec 22 14:22:19 2004  Søren Sandmann  <sandmann@redhat.com>
+
+       * tests/testtoolbar.c (timeout_cb): Add sensitivity-changing
+       timeout. Written by Christian Persch.
+
+Wed Dec 22 14:14:02 2004  Søren Sandmann  <sandmann@redhat.com>
+
+       Bug #161561
+       
+       * gdk/x11/gdkwindow-x11.c (tmp_{re,un}set_bg): Only set/reset the
+       background for windows that get expose events. 
+
+       * gdk/gdkwindow.c (gdk_window_process_updates_internal): Remove
+       hack to repaint !expose windows.
+
+Wed Dec 22 11:35:41 2004  Søren Sandmann  <sandmann@redhat.com>
+
+       Bug #147497, make menu items activate immediately when you release
+       the button.
+       
+       * gtk/gtkmenu.c (gtk_menu_enter_notify, menu_motion_notify): Make
+       items activate immediately.
+
+       * gtk/gtkmenu.c (definitely_within_item): New function
+       * gtk/gtkmenu.c (check_threshold): New function
+
 2004-12-22  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtklabel.c (gtk_label_setup_mnemonic): Don't forget to
@@ -26,7 +52,6 @@ Wed Dec 22 01:24:01 2004  Jonathan Blandford  <jrb@redhat.com>
        * gtk/queryimmodules.c (main): print out the version and binary
        name in the header comment.  Problem reported by Seth Nickell.
 
->>>>>>> 1.6232
 2004-12-20  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): Pass a
@@ -65,6 +90,7 @@ Wed Dec 22 01:24:01 2004  Jonathan Blandford  <jrb@redhat.com>
        (gtk_about_dialog_init): Add missing initializations.  (#161646,
        Torsten Schoenfeld)
 
+>>>>>>> 1.6233
 2004-12-16  Matthias Clasen  <mclasen@redhat.com>
 
        * configure.in: Bump version
index 06212913bd7ec31fdf94c8c1229a092e2e83c9d5..41e5e2ab97cc796918868134b83c2402102b1c4e 100644 (file)
@@ -2168,32 +2168,20 @@ gdk_window_process_updates_internal (GdkWindow *window)
                                window_region);
          gdk_region_destroy (window_region);
          
-         if (!gdk_region_empty (expose_region))
+         if (!gdk_region_empty (expose_region) &&
+             (private->event_mask & GDK_EXPOSURE_MASK))
            {
-             if (private->event_mask & GDK_EXPOSURE_MASK)
-               {
-                 GdkEvent event;
+             GdkEvent event;
              
-                 event.expose.type = GDK_EXPOSE;
-                 event.expose.window = g_object_ref (window);
-                 event.expose.count = 0;
-                 event.expose.region = expose_region;
-                 gdk_region_get_clipbox (expose_region, &event.expose.area);
-                 
-                 (*_gdk_event_func) (&event, _gdk_event_data);
-
-                 g_object_unref (window);
-               }
-             else
-               {
-                 /* Windows without GDK_EXPOSURE_MASK still need to
-                  * get their backgrounds painted, because it
-                  * may have been temporarily set to None when
-                  * the expose was generated
-                  */
-                 gdk_window_begin_paint_region (window, expose_region);
-                 gdk_window_end_paint (window);
-               }
+             event.expose.type = GDK_EXPOSE;
+             event.expose.window = g_object_ref (window);
+             event.expose.count = 0;
+             event.expose.region = expose_region;
+             gdk_region_get_clipbox (expose_region, &event.expose.area);
+             
+             (*_gdk_event_func) (&event, _gdk_event_data);
+             
+             g_object_unref (window);
            }
 
          if (expose_region != update_area)
index 8cd403c2df8f1e988ab6c91e030a5138eb60a75e..b14ff9f95cf3e4b48377d5352ce1ef440869339f 100644 (file)
@@ -236,6 +236,13 @@ tmp_unset_bg (GdkWindow *window)
   obj = (GdkWindowObject *) window;
   impl = GDK_WINDOW_IMPL_X11 (obj->impl);
 
+  /* For windows without EXPOSURE_MASK, we can't do this
+   * unsetting because such windows depend on the drawing
+   * that the X server is going to do
+   */
+  if (!(obj->event_mask & GDK_EXPOSURE_MASK))
+    return;
+    
   impl->position_info.no_bg = TRUE;
 
   if (obj->bg_pixmap != GDK_NO_BG)
@@ -252,6 +259,9 @@ tmp_reset_bg (GdkWindow *window)
   obj = (GdkWindowObject *) window;
   impl = GDK_WINDOW_IMPL_X11 (obj->impl);
 
+  if (!(obj->event_mask & GDK_EXPOSURE_MASK))
+    return;
+    
   impl->position_info.no_bg = FALSE;
 
   if (obj->bg_pixmap == GDK_NO_BG)
@@ -1107,7 +1117,6 @@ gdk_toplevel_x11_free_contents (GdkDisplay *display,
       toplevel->update_counter = None;
 
       XSyncIntToValue (&toplevel->current_counter_value, 0);
-      XSyncIntToValue (&toplevel->pending_counter_value, 0);
     }
 #endif
 }
index 73e88cc428081fc80573e861520483e5af131b8c..9af5d92792e09eba936f07530304007f290673f7 100644 (file)
@@ -476,6 +476,18 @@ toolbar_drag_leave (GtkToolbar     *toolbar,
   gtk_toolbar_set_drop_highlight_item (toolbar, NULL, 0);
 }
 
+static gboolean
+timeout_cb (GtkWidget *widget)
+{
+  static gboolean sensitive = TRUE;
+  
+  sensitive = !sensitive;
+  
+  gtk_widget_set_sensitive (widget, sensitive);
+  
+  return TRUE;
+}
+
 gint
 main (gint argc, gchar **argv)
 {
@@ -587,6 +599,7 @@ main (gint argc, gchar **argv)
   gtk_tool_button_set_label (GTK_TOOL_BUTTON (item), NULL);
   add_item_to_list (store, item, "New");
   gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);
+  g_timeout_add (3000, (GSourceFunc) timeout_cb, item);
   gtk_tool_item_set_expand (item, TRUE);
 
   menu = gtk_menu_new ();
@@ -601,7 +614,7 @@ main (gint argc, gchar **argv)
   gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (item), menu);
   add_item_to_list (store, item, "Open");
   gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);
-
   item = gtk_separator_tool_item_new ();
   add_item_to_list (store, item, "-----");    
   gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);