From c173ac862828a54925737fc1d90ede1dd09a312c Mon Sep 17 00:00:00 2001 From: root Date: Sat, 30 Apr 2011 22:33:37 +0000 Subject: Sat Apr 30 22:33:37 UTC 2011 --- extra/slim/sigterm.patch | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 extra/slim/sigterm.patch (limited to 'extra/slim/sigterm.patch') diff --git a/extra/slim/sigterm.patch b/extra/slim/sigterm.patch new file mode 100644 index 000000000..fbaeb7116 --- /dev/null +++ b/extra/slim/sigterm.patch @@ -0,0 +1,45 @@ +diff -aur old/panel.cpp new/panel.cpp +--- old/panel.cpp 2011-04-29 15:15:57.210134850 +0200 ++++ new/panel.cpp 2011-04-29 15:16:17.260285407 +0200 +@@ -10,6 +10,7 @@ + */ + + #include ++#include + #include "panel.h" + + using namespace std; +@@ -288,16 +289,24 @@ + field=curfield; + bool loop = true; + OnExpose(); ++ ++ struct pollfd x11_pfd = {0}; ++ x11_pfd.fd = ConnectionNumber(Dpy); ++ x11_pfd.events = POLLIN; + while(loop) { +- XNextEvent(Dpy, &event); +- switch(event.type) { +- case Expose: +- OnExpose(); +- break; +- +- case KeyPress: +- loop=OnKeyPress(event); +- break; ++ if(XPending(Dpy) || poll(&x11_pfd, 1, -1) > 0) { ++ while(XPending(Dpy)) { ++ XNextEvent(Dpy, &event); ++ switch(event.type) { ++ case Expose: ++ OnExpose(); ++ break; ++ ++ case KeyPress: ++ loop=OnKeyPress(event); ++ break; ++ } ++ } + } + } + -- cgit v1.2.3-54-g00ecf