more alt-tab hanging fixes. Requires update in libkdecore/kglobalaccel.cpp

svn path=/trunk/kdebase/kwin/; revision=103034
This commit is contained in:
Matthias Ettrich 2001-06-19 15:05:03 +00:00
parent e2ad16e509
commit ab5b07786a

View file

@ -834,12 +834,14 @@ bool Workspace::startKDEWalkThroughWindows()
LeaveWindowMask | PointerMotionMask), LeaveWindowMask | PointerMotionMask),
GrabModeAsync, GrabModeAsync, GrabModeAsync, GrabModeAsync,
None, None, kwin_time ) != GrabSuccess ) { None, None, kwin_time ) != GrabSuccess ) {
return FALSE; XUngrabKeyboard( qt_xdisplay(), kwin_time );
return FALSE;
} }
if ( XGrabKeyboard(qt_xdisplay(), if ( XGrabKeyboard(qt_xdisplay(),
root, FALSE, root, FALSE,
GrabModeAsync, GrabModeAsync, GrabModeAsync, GrabModeAsync,
kwin_time) != GrabSuccess ) { kwin_time) != GrabSuccess ) {
XUngrabKeyboard( qt_xdisplay(), kwin_time );
XUngrabPointer( qt_xdisplay(), kwin_time); XUngrabPointer( qt_xdisplay(), kwin_time);
return FALSE; return FALSE;
} }
@ -858,12 +860,14 @@ bool Workspace::startWalkThroughDesktops( int mode )
LeaveWindowMask | PointerMotionMask), LeaveWindowMask | PointerMotionMask),
GrabModeAsync, GrabModeAsync, GrabModeAsync, GrabModeAsync,
None, None, kwin_time ) != GrabSuccess ) { None, None, kwin_time ) != GrabSuccess ) {
return FALSE; XUngrabKeyboard( qt_xdisplay(), kwin_time );
return FALSE;
} }
if ( XGrabKeyboard(qt_xdisplay(), if ( XGrabKeyboard(qt_xdisplay(),
root, FALSE, root, FALSE,
GrabModeAsync, GrabModeAsync, GrabModeAsync, GrabModeAsync,
kwin_time) != GrabSuccess ) { kwin_time) != GrabSuccess ) {
XUngrabKeyboard( qt_xdisplay(), kwin_time );
XUngrabPointer( qt_xdisplay(), kwin_time); XUngrabPointer( qt_xdisplay(), kwin_time);
return FALSE; return FALSE;
} }
@ -2575,6 +2579,12 @@ void Workspace::createKeybindings(){
walkBackThroughDesktopListKeycode = keys->currentKey( "Walk back through desktop list" ); walkBackThroughDesktopListKeycode = keys->currentKey( "Walk back through desktop list" );
walkThroughWindowsKeycode = keys->currentKey( "Walk through windows" ); walkThroughWindowsKeycode = keys->currentKey( "Walk through windows" );
walkBackThroughWindowsKeycode = keys->currentKey( "Walk back through windows" ); walkBackThroughWindowsKeycode = keys->currentKey( "Walk back through windows" );
keys->setItemRawModeEnabled( "Walk through desktops", TRUE );
keys->setItemRawModeEnabled( "Walk back through desktops", TRUE );
keys->setItemRawModeEnabled( "Walk through desktop list", TRUE );
keys->setItemRawModeEnabled( "Walk back through desktop list", TRUE );
keys->setItemRawModeEnabled( "Walk through windows", TRUE );
keys->setItemRawModeEnabled( "Walk back through windows", TRUE );
} }
void Workspace::slotSwitchDesktop1(){ void Workspace::slotSwitchDesktop1(){