mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-13 09:49:22 +02:00
Qt: fixed bad behaviour of modal forms and TQtMessageBox under metacity window manager. issue #19507
git-svn-id: trunk@31121 -
This commit is contained in:
parent
779e0eea41
commit
a452810bf5
@ -14251,6 +14251,12 @@ begin
|
|||||||
{$ELSE}
|
{$ELSE}
|
||||||
QMessageBox_setWindowModality(QMessageBoxH(Widget), QtApplicationModal);
|
QMessageBox_setWindowModality(QMessageBoxH(Widget), QtApplicationModal);
|
||||||
QWidget_show(Widget);
|
QWidget_show(Widget);
|
||||||
|
|
||||||
|
{$IFDEF HASX11}
|
||||||
|
if (QtWidgetSet.WindowManagerName = 'metacity') then
|
||||||
|
X11Raise(QWidget_winID(Widget));
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
repeat
|
repeat
|
||||||
QCoreApplication_processEvents();
|
QCoreApplication_processEvents();
|
||||||
Application.Idle(true);
|
Application.Idle(true);
|
||||||
|
@ -441,8 +441,17 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Widget.setVisible(AWinControl.HandleObjectShouldBeVisible);
|
Widget.setVisible(AWinControl.HandleObjectShouldBeVisible);
|
||||||
Widget.EndUpdate;
|
Widget.EndUpdate;
|
||||||
|
|
||||||
|
{$IFDEF HASX11}
|
||||||
|
if AWinControl.HandleObjectShouldBeVisible and
|
||||||
|
(fsModal in TForm(AWinControl).FormState) and
|
||||||
|
(QtWidgetSet.WindowManagerName = 'metacity') then
|
||||||
|
X11Raise(QWidget_winID(Widget.Widget));
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF HASX11}
|
{$IFDEF HASX11}
|
||||||
if (QtVersionMajor = 4) and (QtVersionMinor >= 6)
|
if (QtVersionMajor = 4) and (QtVersionMinor >= 6)
|
||||||
and (TForm(AWinControl).FormStyle <> fsMDIChild) then
|
and (TForm(AWinControl).FormStyle <> fsMDIChild) then
|
||||||
|
Loading…
Reference in New Issue
Block a user