blob: 877de05c5950fc30a843c17addc133df39184f46 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
===================================================================
RCS file: /home2/webcvs/mirror/qt-copy/src/kernel/qapplication_x11.cpp,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -p -r1.81 -r1.82
--- qt-copy/src/kernel/qapplication_x11.cpp 2002/11/13 16:46:34 1.81
+++ qt-copy/src/kernel/qapplication_x11.cpp 2002/11/14 08:57:34 1.82
@@ -3691,39 +3691,9 @@ void qt_leave_modal( QWidget *widget )
bool qt_try_modal( QWidget *widget, XEvent *event )
{
- if ( qApp->activePopupWidget() )
+ if ( qt_tryModalHelper( widget ) )
return TRUE;
- QWidget *modal=0, *top=QApplication::activeModalWidget();
-
- QWidget* groupLeader = widget;
- widget = widget->topLevelWidget();
-
- if ( widget->testWFlags(Qt::WShowModal) ) // widget is modal
- modal = widget;
- if ( !top || modal == top ) // don't block event
- return TRUE;
-
- while ( groupLeader && !groupLeader->testWFlags( Qt::WGroupLeader ) )
- groupLeader = groupLeader->parentWidget();
-
- if ( groupLeader ) {
- // Does groupLeader have a child in qt_modal_stack?
- bool unrelated = TRUE;
- modal = qt_modal_stack->first();
- while (modal && unrelated) {
- QWidget* p = modal->parentWidget();
- while ( p && p != groupLeader && !p->testWFlags( Qt::WGroupLeader) ) {
- p = p->parentWidget();
- }
- modal = qt_modal_stack->next();
- if ( p == groupLeader ) unrelated = FALSE;
- }
-
- if ( unrelated )
- return TRUE; // don't block event
- }
-
bool block_event = FALSE;
switch ( event->type ) {
case ButtonPress: // disallow mouse/key events
|