Code

Filter effects dialog:
[inkscape.git] / src / select-context.cpp
index f6abf44f5a562c845507b7054ba7d0e5d1b7d9f5..08cb6247a48a863d031641909a45483781a870ac 100644 (file)
@@ -627,10 +627,11 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
 
                         } else if ((sc->button_press_ctrl || sc->button_press_alt) && !rb_escaped && !drag_escaped) { // ctrl+click, alt+click
 
-                            sc->button_press_ctrl = FALSE;
-
                             item = sp_event_context_find_item (desktop,
-                                         NR::Point(event->button.x, event->button.y), event->button.state & GDK_MOD1_MASK, TRUE);
+                                         NR::Point(event->button.x, event->button.y), sc->button_press_alt, sc->button_press_ctrl);
+
+                            sc->button_press_ctrl = FALSE;
+                            sc->button_press_alt = FALSE;
 
                             if (item) {
                                 if (selection->includes(item)) {
@@ -660,6 +661,9 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
                 
                 desktop->updateNow();
             }
+            if (event->button.button == 1) {
+                Inkscape::Rubberband::get()->stop(); // might have been started in another tool!
+            }
             sc->button_press_shift = false;
             sc->button_press_ctrl = false;
             sc->button_press_alt = false;
@@ -854,6 +858,15 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
                         ret = TRUE;
                     }
                     break;
+                case GDK_s:
+                case GDK_S:
+                    if (MOD__SHIFT_ONLY) {
+                        if (!selection->isEmpty()) {
+                            seltrans->increaseState();
+                        }
+                        ret = TRUE;
+                    }
+                    break;                  
                 default:
                     break;
             }