Use G_PRIORITY_IDLE_HIGH + 20 for all the pannable area timeouts
authorClaudio Saavedra <csaavedra@igalia.com>
Thu, 3 Sep 2009 20:08:20 +0000 (23:08 +0300)
committerClaudio Saavedra <csaavedra@igalia.com>
Thu, 3 Sep 2009 20:13:14 +0000 (23:13 +0300)
* hildon/hildon-pannable-area.c:
(hildon_pannable_area_launch_fade_timeout),
(hildon_pannable_area_motion_event_scroll),
(hildon_pannable_area_check_move),
(hildon_pannable_area_button_release_cb),
(hildon_pannable_area_scroll_to):

Use a priority of G_PRIORITY_IDLE_HIGH + 20 for all the pannable
area drawing operations, since this is the recommended for drawing
operations.

Fixes: NB#110894 (In event view containing very large description
field, application menu is displayed blank while panning)
Fixes: NB#131942 (HildonPickerDialog is seen empty when popping up
for the first time)

ChangeLog
hildon/hildon-pannable-area.c

index b3b347e..2baf555 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2009-09-03  Claudio Saavedra  <csaavedra@igalia.com>
+
+       * hildon/hildon-pannable-area.c:
+       (hildon_pannable_area_launch_fade_timeout),
+       (hildon_pannable_area_motion_event_scroll),
+       (hildon_pannable_area_check_move),
+       (hildon_pannable_area_button_release_cb),
+       (hildon_pannable_area_scroll_to):
+
+       Use a priority of G_PRIORITY_IDLE_HIGH + 20 for all the pannable
+       area drawing operations, since this is the recommended for drawing
+       operations.
+
+       Fixes: NB#110894 (In event view containing very large description
+       field, application menu is displayed blank while panning)
+       Fixes: NB#131942 (HildonPickerDialog is seen empty when popping up
+       for the first time)
+
 2009-09-03  Alberto Garcia  <agarcia@igalia.com>
 
        * doc/hildon-sections.txt
index 4e277b1..48135aa 100644 (file)
@@ -1616,9 +1616,11 @@ hildon_pannable_area_launch_fade_timeout (HildonPannableArea * area,
 
   if (!priv->scroll_indicator_timeout)
     priv->scroll_indicator_timeout =
-      gdk_threads_add_timeout (SCROLL_FADE_TIMEOUT,
-                               (GSourceFunc) hildon_pannable_area_scroll_indicator_fade,
-                               area);
+      gdk_threads_add_timeout_full (G_PRIORITY_HIGH_IDLE + 20,
+                                   SCROLL_FADE_TIMEOUT,
+                                   (GSourceFunc) hildon_pannable_area_scroll_indicator_fade,
+                                   area,
+                                   NULL);
 }
 
 static void
@@ -2406,9 +2408,10 @@ hildon_pannable_area_motion_event_scroll (HildonPannableArea *area,
     priv->motion_x = 0;
     priv->motion_y = 0;
 
-    priv->motion_event_scroll_timeout = gdk_threads_add_timeout
-      ((gint) (1000.0 / (gdouble) MOTION_EVENTS_PER_SECOND),
-       (GSourceFunc) hildon_pannable_area_motion_event_scroll_timeout, area);
+    priv->motion_event_scroll_timeout = gdk_threads_add_timeout_full
+      (G_PRIORITY_HIGH_IDLE + 20,
+       (gint) (1000.0 / (gdouble) MOTION_EVENTS_PER_SECOND),
+       (GSourceFunc) hildon_pannable_area_motion_event_scroll_timeout, area, NULL);
   }
 }
 
@@ -2513,10 +2516,11 @@ hildon_pannable_area_check_move (HildonPannableArea *area,
        (priv->mode != HILDON_PANNABLE_AREA_MODE_AUTO)) {
 
       if (!priv->idle_id)
-        priv->idle_id = gdk_threads_add_timeout ((gint)
-                                                 (1000.0 / (gdouble) priv->sps),
-                                                 (GSourceFunc)
-                                                 hildon_pannable_area_timeout, area);
+        priv->idle_id = gdk_threads_add_timeout_full
+          (G_PRIORITY_HIGH_IDLE + 20,
+          (gint)(1000.0 / (gdouble) priv->sps),
+          (GSourceFunc)
+          hildon_pannable_area_timeout, area, NULL);
     }
   }
 }
@@ -2764,9 +2768,10 @@ hildon_pannable_area_button_release_cb (GtkWidget * widget,
       priv->vel_y = (priv->vel_y > 0) ? priv->vmax : -priv->vmax;
 
     if (!priv->idle_id)
-      priv->idle_id = gdk_threads_add_timeout ((gint) (1000.0 / (gdouble) priv->sps),
-                                               (GSourceFunc)
-                                               hildon_pannable_area_timeout, widget);
+      priv->idle_id = gdk_threads_add_timeout_full (G_PRIORITY_HIGH_IDLE + 20,
+                                                   (gint) (1000.0 / (gdouble) priv->sps),
+                                                   (GSourceFunc) hildon_pannable_area_timeout,
+                                                   widget, NULL);
   } else {
     if (priv->center_on_child_focus_pending) {
       hildon_pannable_area_center_on_child_focus (area);
@@ -3217,9 +3222,10 @@ hildon_pannable_area_scroll_to (HildonPannableArea *area,
   hildon_pannable_area_launch_fade_timeout (area, 1.0);
 
   if (!priv->idle_id)
-    priv->idle_id = gdk_threads_add_timeout ((gint) (1000.0 / (gdouble) priv->sps),
-                                             (GSourceFunc)
-                                             hildon_pannable_area_timeout, area);
+    priv->idle_id = gdk_threads_add_timeout_full (G_PRIORITY_HIGH_IDLE + 20,
+                                                 (gint) (1000.0 / (gdouble) priv->sps),
+                                                 (GSourceFunc) hildon_pannable_area_timeout,
+                                                 area, NULL);
 }
 
 /**