[Pkg-xfce-commits] r3497 - in desktop/trunk/exo/debian: . patches

Yves-Alexis Perez corsac at alioth.debian.org
Tue Sep 15 06:14:54 UTC 2009


Author: corsac
Date: 2009-09-15 18:14:54 +0000 (Tue, 15 Sep 2009)
New Revision: 3497

Removed:
   desktop/trunk/exo/debian/patches/03_fix-scroll-with-csw.patch
Modified:
   desktop/trunk/exo/debian/changelog
   desktop/trunk/exo/debian/patches/series
Log:
revert patch, this has been fixed in GTK+


Modified: desktop/trunk/exo/debian/changelog
===================================================================
--- desktop/trunk/exo/debian/changelog	2009-09-11 23:04:59 UTC (rev 3496)
+++ desktop/trunk/exo/debian/changelog	2009-09-15 18:14:54 UTC (rev 3497)
@@ -1,11 +1,3 @@
-exo (0.3.102-2) UNRELEASED; urgency=low
-
-  * debian/patches:
-    - 03_fix-scroll-with-csw added, fix issues when using Client Side
-      Windows in GTK+ 2.17+.
-
- -- Yves-Alexis Perez <corsac at debian.org>  Fri, 11 Sep 2009 23:35:14 +0200
-
 exo (0.3.102-1) unstable; urgency=low
 
   * New upstream release.

Deleted: desktop/trunk/exo/debian/patches/03_fix-scroll-with-csw.patch
===================================================================
--- desktop/trunk/exo/debian/patches/03_fix-scroll-with-csw.patch	2009-09-11 23:04:59 UTC (rev 3496)
+++ desktop/trunk/exo/debian/patches/03_fix-scroll-with-csw.patch	2009-09-15 18:14:54 UTC (rev 3497)
@@ -1,160 +0,0 @@
-commit 5a90d10343f91f213cd409be6fdbb934eb3ee9c2
-Author: Jannis Pohlmann <jannis at xfce.org>
-Date:   Fri Sep 11 20:10:04 2009 +0200
-
-    Use an idle function for delayed scrolling.
-    
-    It looks like modifying the bin_window GdkWindow inside the expose
-    event handler of ExoIconView does no longer work with client-side
-    windows. This was done for delaying the scrolling to a certain path
-    until the widget is realized and layouting is completed.
-    
-    As a result of using gdk_window_move() inside of the expose event
-    handler, the painted icon view was not up to date or mixed up after the
-    event handler had finished. Icons moved up a few pixels when hovering
-    them and with scroll positions further down the view, the contents were
-    painted twice (in the old and new state), resulting in overlapping
-    items.
-    
-    This commit implements delayed scrolling via an idle function, which is
-    the only way I see right now to work around this. It may cause the
-    automatic scrolling to the previous file to be delayed for a very short
-    time, but this shouldn't be critical.
-    
-    A bug was filed against GDK on
-    
-      http://bugzilla.gnome.org/show_bug.cgi?id=594880
-
-diff --git a/exo/exo-icon-view.c b/exo/exo-icon-view.c
-index bdd6df0..e90647f 100644
---- a/exo/exo-icon-view.c
-+++ b/exo/exo-icon-view.c
-@@ -454,7 +454,8 @@ struct _ExoIconViewPrivate
-   GtkAdjustment *vadjustment;
- 
-   gint layout_idle_id;
--  
-+  gint scroll_idle_id;
-+
-   gboolean doing_rubberband;
-   gint rubberband_x1, rubberband_y1;
-   gint rubberband_x2, rubberband_y2;
-@@ -1237,6 +1238,10 @@ exo_icon_view_finalize (GObject *object)
-   if (G_UNLIKELY (icon_view->priv->single_click_timeout_id != 0))
-     g_source_remove (icon_view->priv->single_click_timeout_id);
- 
-+  /* kill the scroll idle source */
-+  if (G_UNLIKELY (icon_view->priv->scroll_idle_id != 0))
-+    g_source_remove (icon_view->priv->scroll_idle_id);
-+
-   /* kill the layout idle source (it's important to have this last!) */
-   if (G_UNLIKELY (icon_view->priv->layout_idle_id != 0))
-     g_source_remove (icon_view->priv->layout_idle_id);
-@@ -1642,28 +1647,6 @@ exo_icon_view_expose_event (GtkWidget      *widget,
-   if (G_UNLIKELY (priv->layout_idle_id != 0))
-     return FALSE;
- 
--  /* scroll to the previously remembered path (if any) */
--  if (G_UNLIKELY (priv->scroll_to_path != NULL))
--    {
--      /* grab the path from the reference and invalidate the reference */
--      path = gtk_tree_row_reference_get_path (priv->scroll_to_path);
--      gtk_tree_row_reference_free (priv->scroll_to_path);
--      priv->scroll_to_path = NULL;
--
--      /* check if the reference was still valid */
--      if (G_LIKELY (path != NULL))
--        {
--          /* try to scroll again */
--          exo_icon_view_scroll_to_path (icon_view, path,
--                                        priv->scroll_to_use_align,
--                                        priv->scroll_to_row_align,
--                                        priv->scroll_to_col_align);
--
--          /* release the path */
--          gtk_tree_path_free (path);
--        }
--    }
--
-   /* check if we need to draw a drag indicator */
-   exo_icon_view_get_drag_dest_item (icon_view, &path, &dest_pos);
-   if (G_UNLIKELY (path != NULL))
-@@ -5437,6 +5420,8 @@ update_text_cell (ExoIconView *icon_view)
-     }
- }
- 
-+
-+
- static void
- update_pixbuf_cell (ExoIconView *icon_view)
- {
-@@ -5982,6 +5967,46 @@ exo_icon_view_set_cursor (ExoIconView     *icon_view,
- 
- 
- 
-+static gboolean
-+scroll_delayed (gpointer user_data)
-+{
-+  ExoIconView *icon_view = user_data;
-+  GtkTreePath *path;
-+
-+  _exo_return_val_if_fail (EXO_IS_ICON_VIEW (icon_view), FALSE);
-+  
-+  /* schedule the scrolling again if the window still isn't realized or 
-+   * the layouting still is not finished */
-+  if (!GTK_WIDGET_REALIZED (GTK_WIDGET (icon_view)) || icon_view->priv->layout_idle_id != 0)
-+    return TRUE;
-+  
-+  /* scroll to the previously remembered path (if any) */
-+  if (G_UNLIKELY (icon_view->priv->scroll_to_path != NULL))
-+    {
-+      /* grab the path from the reference and invalidate the reference */
-+      path = gtk_tree_row_reference_get_path (icon_view->priv->scroll_to_path);
-+      gtk_tree_row_reference_free (icon_view->priv->scroll_to_path);
-+      icon_view->priv->scroll_to_path = NULL;
-+
-+      /* check if the reference was still valid */
-+      if (G_LIKELY (path != NULL))
-+        {
-+          /* try to scroll again */
-+          exo_icon_view_scroll_to_path (icon_view, path,
-+                                        icon_view->priv->scroll_to_use_align,
-+                                        icon_view->priv->scroll_to_row_align,
-+                                        icon_view->priv->scroll_to_col_align);
-+
-+          /* release the path */
-+          gtk_tree_path_free (path);
-+        }
-+    }
-+
-+  return FALSE;
-+}
-+
-+
-+
- /**
-  * exo_icon_view_scroll_to_path:
-  * @icon_view: A #ExoIconView.
-@@ -6023,6 +6048,10 @@ exo_icon_view_scroll_to_path (ExoIconView *icon_view,
-   /* Delay scrolling if either not realized or pending layout() */
-   if (!GTK_WIDGET_REALIZED (icon_view) || icon_view->priv->layout_idle_id != 0)
-     {
-+      /* drop previous scroll idle handler */
-+      if (G_UNLIKELY (icon_view->priv->scroll_idle_id != 0))
-+        g_source_remove (icon_view->priv->scroll_idle_id);
-+
-       /* release the previous scroll_to_path reference */
-       if (G_UNLIKELY (icon_view->priv->scroll_to_path != NULL))
-         gtk_tree_row_reference_free (icon_view->priv->scroll_to_path);
-@@ -6032,6 +6061,11 @@ exo_icon_view_scroll_to_path (ExoIconView *icon_view,
-       icon_view->priv->scroll_to_use_align = use_align;
-       icon_view->priv->scroll_to_row_align = row_align;
-       icon_view->priv->scroll_to_col_align = col_align;
-+
-+      /* schedule an idle handler to scroll to the given path */
-+      icon_view->priv->scroll_idle_id = g_idle_add_full (G_PRIORITY_LOW, 
-+                                                         scroll_delayed, icon_view, 
-+                                                         NULL);
-     }
-   else
-     {

Modified: desktop/trunk/exo/debian/patches/series
===================================================================
--- desktop/trunk/exo/debian/patches/series	2009-09-11 23:04:59 UTC (rev 3496)
+++ desktop/trunk/exo/debian/patches/series	2009-09-15 18:14:54 UTC (rev 3497)
@@ -1,3 +1,2 @@
 01_fix-exo-csource-manpage.patch
 02_fix-exo-open-manpage.patch
-03_fix-scroll-with-csw.patch




More information about the Pkg-xfce-commits mailing list