aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2003-05-17 11:00:50 (GMT)
committerfluxgen <fluxgen>2003-05-17 11:00:50 (GMT)
commite55252b46417d90be6bd730f2fcb16fc0e82eae9 (patch)
tree4148f549c8e627c4b0420fdba64d10afc7f66f96
parent0933da772aa17ab9622404d2d038a9b5048012f2 (diff)
downloadfluxbox-e55252b46417d90be6bd730f2fcb16fc0e82eae9.zip
fluxbox-e55252b46417d90be6bd730f2fcb16fc0e82eae9.tar.bz2
fixed slit client die issue
-rw-r--r--src/Slit.cc12
-rw-r--r--src/Slit.hh3
2 files changed, 8 insertions, 7 deletions
diff --git a/src/Slit.cc b/src/Slit.cc
index 4664e62..6f1a7c4 100644
--- a/src/Slit.cc
+++ b/src/Slit.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Slit.cc,v 1.54 2003/05/15 23:30:06 fluxgen Exp $ 25// $Id: Slit.cc,v 1.55 2003/05/17 11:00:50 fluxgen Exp $
26 26
27#include "Slit.hh" 27#include "Slit.hh"
28 28
@@ -334,7 +334,9 @@ Slit::Slit(BScreen &scr, FbTk::XLayer &layer, const char *filename)
334 reconfigure(); 334 reconfigure();
335} 335}
336 336
337 337unsigned int Slit::s_eventmask = StructureNotifyMask | SubstructureNotifyMask |
338 SubstructureRedirectMask | ButtonPressMask |
339 EnterWindowMask | LeaveWindowMask | ExposureMask;
338Slit::~Slit() { 340Slit::~Slit() {
339 if (frame.pixmap != 0) 341 if (frame.pixmap != 0)
340 screen().imageControl().removeImage(frame.pixmap); 342 screen().imageControl().removeImage(frame.pixmap);
@@ -462,8 +464,7 @@ void Slit::addClient(Window w) {
462 XChangeSaveSet(disp, client->window, SetModeInsert); 464 XChangeSaveSet(disp, client->window, SetModeInsert);
463 465
464 // reactivate events for frame.window 466 // reactivate events for frame.window
465 frame.window.setEventMask(SubstructureRedirectMask | 467 frame.window.setEventMask(s_eventmask);
466 ButtonPressMask | EnterWindowMask | LeaveWindowMask | ExposureMask);
467 468
468 // setup event for slit client window 469 // setup event for slit client window
469 client->enableEvents(); 470 client->enableEvents();
@@ -528,8 +529,7 @@ void Slit::removeClient(SlitClient *client, bool remap, bool destroy) {
528 client->x, client->y); 529 client->x, client->y);
529 XChangeSaveSet(disp, client->window, SetModeDelete); 530 XChangeSaveSet(disp, client->window, SetModeDelete);
530 // reactivate events to frame.window 531 // reactivate events to frame.window
531 frame.window.setEventMask(SubstructureRedirectMask | ButtonPressMask | 532 frame.window.setEventMask(s_eventmask);
532 EnterWindowMask | LeaveWindowMask | ExposureMask);
533 XFlush(disp); 533 XFlush(disp);
534 } 534 }
535 535
diff --git a/src/Slit.hh b/src/Slit.hh
index b94b5e7..10b141a 100644
--- a/src/Slit.hh
+++ b/src/Slit.hh
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25/// $Id: Slit.hh,v 1.29 2003/05/15 11:17:27 fluxgen Exp $ 25/// $Id: Slit.hh,v 1.30 2003/05/17 11:00:50 fluxgen Exp $
26 26
27#ifndef SLIT_HH 27#ifndef SLIT_HH
28#define SLIT_HH 28#define SLIT_HH
@@ -146,6 +146,7 @@ private:
146 std::auto_ptr<FbTk::XLayerItem> m_layeritem; 146 std::auto_ptr<FbTk::XLayerItem> m_layeritem;
147 std::auto_ptr<SlitTheme> m_slit_theme; 147 std::auto_ptr<SlitTheme> m_slit_theme;
148 std::auto_ptr<FbTk::Transparent> m_transp; 148 std::auto_ptr<FbTk::Transparent> m_transp;
149 static unsigned int s_eventmask;
149}; 150};
150 151
151 152