Code

Clear selection cache when not dragging. Fixes bug #1501156
authorjoncruz <joncruz@users.sourceforge.net>
Thu, 8 Jun 2006 07:51:33 +0000 (07:51 +0000)
committerjoncruz <joncruz@users.sourceforge.net>
Thu, 8 Jun 2006 07:51:33 +0000 (07:51 +0000)
ChangeLog
src/seltrans.cpp

index 89bba40dba1b35392aafa34741252d122864a4b6..55f30adf26c92fc1835973e2db15e480921f2059 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-06-07  Jon A. Cruz  <jon@joncruz.org>
+
+       * src/seltrans.cpp:
+
+         Work-around for seltrans not getting calls to grab() and ungrab() as expected.
+         Fixes bug #1501156.
+
 2006-06-07  Jon A. Cruz  <jon@joncruz.org>
 
        * src/widgets/toolbox.cpp:
index a05cac1814c31524cece0a9072e06b91caa9497c..f6134a01c985cece95299382e1af11009ca25444 100644 (file)
@@ -380,6 +380,13 @@ void Inkscape::SelTrans::stamp()
 {
     Inkscape::Selection *selection = sp_desktop_selection(_desktop);
 
+    bool fixup = !_grabbed;
+    if ( fixup && _stamp_cache ) {
+        // TODO - give a proper fix. Simple temproary work-around for the grab() issue
+        g_slist_free(_stamp_cache);
+        _stamp_cache = NULL;
+    }
+
     /* stamping mode */
     if (!_empty) {
         GSList *l;
@@ -431,6 +438,12 @@ void Inkscape::SelTrans::stamp()
         }
         sp_document_done(sp_desktop_document(_desktop));
     }
+
+    if ( fixup && _stamp_cache ) {
+        // TODO - give a proper fix. Simple temproary work-around for the grab() issue
+        g_slist_free(_stamp_cache);
+        _stamp_cache = NULL;
+    }
 }
 
 void Inkscape::SelTrans::_updateHandles()