From b113c3dd120bd08e49c81352b60e77a275190ffe Mon Sep 17 00:00:00 2001 From: Maximilian Albert Date: Fri, 15 Aug 2008 06:49:36 +0000 Subject: Correct fix for Esc and Shift+Z in pencil tool (bzr r6632) --- src/pencil-context.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/pencil-context.cpp b/src/pencil-context.cpp index 01f3020fd..69afdf614 100644 --- a/src/pencil-context.cpp +++ b/src/pencil-context.cpp @@ -488,7 +488,6 @@ pencil_cancel (SPPencilContext *const pc) sp_canvas_end_forced_full_redraws(pc->desktop->canvas); } - static gint pencil_handle_key_press(SPPencilContext *const pc, guint const keyval, guint const state) { @@ -505,16 +504,21 @@ pencil_handle_key_press(SPPencilContext *const pc, guint const keyval, guint con break; case GDK_Escape: if (pc->npoints != 0) { - pencil_cancel (pc); - ret = TRUE; + // if drawing, cancel, otherwise pass it up for deselecting + if (pc->state != SP_PENCIL_CONTEXT_IDLE) { + pencil_cancel (pc); + ret = TRUE; + } } break; case GDK_z: case GDK_Z: if (mod_ctrl_only(state) && pc->npoints != 0) { // if drawing, cancel, otherwise pass it up for undo - pencil_cancel (pc); - ret = TRUE; + if (pc->state != SP_PENCIL_CONTEXT_IDLE) { + pencil_cancel (pc); + ret = TRUE; + } } break; case GDK_g: -- cgit v1.2.3