X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2Fxo-paint.c;h=ba6ffffa694ff9140e3e47f0fd9b738a7da96805;hb=881e9a45693f4d724512fdc5297ba312d447851b;hp=85e3536a488430b7c81833475f7431cdd5c1eea9;hpb=34dbe92edd95fbf7082c3e54f438c76355254fe5;p=xournal.git diff --git a/src/xo-paint.c b/src/xo-paint.c index 85e3536..ba6ffff 100644 --- a/src/xo-paint.c +++ b/src/xo-paint.c @@ -1215,13 +1215,10 @@ void start_text(GdkEvent *event, struct Item *item) get_pointer_coords(event, pt); ui.cur_item_type = ITEM_TEXT; - // HACK TO BYPASS GTK+ 2.17 issues + // HACK TO BYPASS GTK+ 2.17 issue: crash if move text within selection + // also bypass: non-responsiveness of clicks in text box with 2.17 & 2.18 if (!gtk_check_version(2, 17, 0)) { - /* first we make *all* canvas subwindows become XInput aware, - so that it'll be safe to disable XInput later on... (!!!) */ - gtk_widget_set_extension_events(GTK_WIDGET (canvas), - ui.use_xinput?GDK_EXTENSION_EVENTS_ALL:GDK_EXTENSION_EVENTS_NONE); - /* then we ask the canvas's leave-notify handler to disable + /* ask the canvas's leave-notify handler to disable xinput when it's safe to do so... */ ui.need_emergency_disable_xinput = TRUE; } @@ -1292,9 +1289,8 @@ void end_text(void) // HACK TO BYPASS GTK+ 2.17 issues if (!gtk_check_version(2, 17, 0)) { // re-enable XInput if needed (we disabled it during text edition) - gdk_input_set_extension_events(GTK_WIDGET(canvas)->window, - GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK, - ui.use_xinput?GDK_EXTENSION_EVENTS_ALL:GDK_EXTENSION_EVENTS_NONE); + gtk_widget_set_extension_events(GTK_WIDGET (canvas), + ui.use_xinput?GDK_EXTENSION_EVENTS_ALL:GDK_EXTENSION_EVENTS_NONE); } // finalize the text that's been edited...