[meld] dirdiff, filediff: Add a hack to revert overlay scrolling (bgo#748219)



commit 529f257ef4f9359e6dbb96ca41c5c3aa188c4373
Author: Kai Willadsen <kai willadsen gmail com>
Date:   Sun May 31 07:29:48 2015 +1000

    dirdiff, filediff: Add a hack to revert overlay scrolling (bgo#748219)
    
    In some cases, overlay scrolling appears to mess with the ability to
    interact with, for example, Meld's merge buttons. As such, this patch
    reverts to using old-style scrollbars for folder and file comparisons,
    since they're the ones likely to be affected.
    
    It might actually be quite nice for Meld to enable these, if this gets
    fixed or we can figure out a different workaround.

 meld/dirdiff.py  |    3 +++
 meld/filediff.py |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/meld/dirdiff.py b/meld/dirdiff.py
index c0fc310..68c98a9 100644
--- a/meld/dirdiff.py
+++ b/meld/dirdiff.py
@@ -421,6 +421,9 @@ class DirDiff(melddoc.MeldDoc, gnomeglade.Component):
                 "value-changed", self._sync_vscroll)
             self.scrolledwindow[i].get_hadjustment().connect(
                 "value-changed", self._sync_hscroll)
+            # Revert overlay scrolling that messes with widget interactivity
+            if hasattr(self.scrolledwindow[i], 'set_overlay_scrolling'):
+                self.scrolledwindow[i].set_overlay_scrolling(False)
         self.linediffs = [[], []]
 
         self.update_treeview_columns(settings, 'folder-columns')
diff --git a/meld/filediff.py b/meld/filediff.py
index 9a2d733..8f866b4 100644
--- a/meld/filediff.py
+++ b/meld/filediff.py
@@ -225,6 +225,9 @@ class FileDiff(melddoc.MeldDoc, gnomeglade.Component):
         for (i, w) in enumerate(self.scrolledwindow):
             w.get_vadjustment().connect("value-changed", self._sync_vscroll, i)
             w.get_hadjustment().connect("value-changed", self._sync_hscroll)
+            # Revert overlay scrolling that messes with widget interactivity
+            if hasattr(w, 'set_overlay_scrolling'):
+                w.set_overlay_scrolling(False)
         self._connect_buffer_handlers()
         self._sync_vscroll_lock = False
         self._sync_hscroll_lock = False


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]