jer         14/06/04 17:37:08

  Added:                easystroke-0.6.0-reinstate-signal-handlers.patch
                        easystroke-0.6.0-buttons-scroll-send.patch
  Log:
  Add upstream patches for bug #512428 by Small Penguin.
  
  (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 
A792A613)

Revision  Changes    Path
1.1                  
x11-misc/easystroke/files/easystroke-0.6.0-reinstate-signal-handlers.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-misc/easystroke/files/easystroke-0.6.0-reinstate-signal-handlers.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-misc/easystroke/files/easystroke-0.6.0-reinstate-signal-handlers.patch?rev=1.1&content-type=text/plain

Index: easystroke-0.6.0-reinstate-signal-handlers.patch
===================================================================
>From 7bda4bd9c705413598ee9b534884bc7f23704932 Mon Sep 17 00:00:00 2001
From: Thomas Jaeger <[email protected]>
Date: Thu, 20 Jun 2013 01:45:20 -0400
Subject: Reinstate signal handlers that got lost in the gtk3 transition

Also, fix a segfault when handling SIGINT.
---
 main.cc | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/main.cc b/main.cc
index 55d0b3c..8cd9c56 100644
--- a/main.cc
+++ b/main.cc
@@ -161,7 +161,12 @@ void quit() {
                xstate->bail_out();
        dead = true;
        win->hide();
-       xstate->queue(sigc::ptr_fun(&Gtk::Main::quit));
+       Glib::RefPtr<Gio::Application> app = Gio::Application::get_default();
+       xstate->queue(sigc::mem_fun(*app.operator->(), 
&Gio::Application::quit));
+}
+
+void sig_int(int) {
+       quit();
 }
 
 class App : public Gtk::Application, Base {
@@ -371,6 +376,10 @@ void App::on_activate() {
 
        create_config_dir();
        unsetenv("DESKTOP_AUTOSTART_ID");
+
+       signal(SIGINT, &sig_int);
+       signal(SIGCHLD, SIG_IGN);
+
        dpy = XOpenDisplay(NULL);
        if (!dpy) {
                printf(_("Couldn't open display.\n"));
-- 
1.8.4




1.1                  
x11-misc/easystroke/files/easystroke-0.6.0-buttons-scroll-send.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-misc/easystroke/files/easystroke-0.6.0-buttons-scroll-send.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-misc/easystroke/files/easystroke-0.6.0-buttons-scroll-send.patch?rev=1.1&content-type=text/plain

Index: easystroke-0.6.0-buttons-scroll-send.patch
===================================================================
>From 5388934e722308cd314d65e362ddfaf6e5ab6c94 Mon Sep 17 00:00:00 2001
From: Thomas Jaeger <[email protected]>
Date: Sat, 13 Apr 2013 14:10:35 -0400
Subject: Make buttons and scroll work properly with 'send'

---
 handler.cc | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/handler.cc b/handler.cc
index f47aae3..c1bd279 100644
--- a/handler.cc
+++ b/handler.cc
@@ -545,7 +545,7 @@ class AbstractScrollHandler : public Handler {
 
 protected:
        AbstractScrollHandler() : last_t(0), offset_x(0.0), offset_y(0.0) {
-               if (!prefs.move_back.get() || xstate->current_dev->absolute)
+               if (!prefs.move_back.get() || (xstate->current_dev && 
xstate->current_dev->absolute))
                        return;
                Window dummy1, dummy2;
                int dummy3, dummy4;
@@ -563,7 +563,7 @@ protected:
        }
 protected:
        void move_back() {
-               if (!prefs.move_back.get() || xstate->current_dev->absolute)
+               if (!prefs.move_back.get() || (xstate->current_dev && 
xstate->current_dev->absolute))
                        return;
                XTestFakeMotionEvent(dpy, DefaultScreen(dpy), orig_x, orig_y, 
0);
        }
@@ -1115,6 +1115,8 @@ XState::XState() : current_dev(NULL), 
in_proximity(false), accepted(true) {
 
 void XState::run_action(RAction act) {
        RModifiers mods = act->prepare();
+       IF_BUTTON(act, b)
+               return handler->replace_child(new ButtonHandler(mods, b));
        if (IS_IGNORE(act))
                return handler->replace_child(new IgnoreHandler(mods));
        if (IS_SCROLL(act))
-- 
1.8.4





Reply via email to