Qt: fixed problems with modal and popup windows over modal windows with Mint's Marco window manager (Mate desktop).

git-svn-id: trunk@41346 -
This commit is contained in:
zeljko 2013-05-22 08:09:14 +00:00
parent 40eaa7dc2a
commit 919ce9cbea
3 changed files with 9 additions and 6 deletions

View File

@ -6108,7 +6108,9 @@ begin
end else end else
if not QWidget_isModal(Widget) then if not QWidget_isModal(Widget) then
begin begin
if (QtWidgetSet.WindowManagerName = 'metacity') and not IsMDIChild then if ((QtWidgetSet.WindowManagerName = 'metacity') or
(QtWidgetSet.WindowManagerName = 'marco')) and
not IsMDIChild then
X11Raise(QWidget_winID(Widget)) X11Raise(QWidget_winID(Widget))
else else
QWidget_raise(Widget); QWidget_raise(Widget);
@ -17025,7 +17027,7 @@ begin
QWidget_show(Widget); QWidget_show(Widget);
{$IFDEF HASX11} {$IFDEF HASX11}
if (QtWidgetSet.WindowManagerName = 'metacity') then if (QtWidgetSet.WindowManagerName = 'metacity') or (QtWidgetSet.WindowManagerName = 'marco') then
X11Raise(QWidget_winID(Widget)); X11Raise(QWidget_winID(Widget));
{$ENDIF} {$ENDIF}

View File

@ -5683,7 +5683,7 @@ var
W: QWidgetH; W: QWidgetH;
begin begin
{$IFDEF HASX11} {$IFDEF HASX11}
if WindowManagerName = 'metacity' then if (WindowManagerName = 'metacity') or (WindowManagerName = 'marco') then
W := X11GetActivewindow W := X11GetActivewindow
else else
W := QApplication_activeWindow(); W := QApplication_activeWindow();

View File

@ -422,7 +422,8 @@ begin
{$ifdef HASX11} {$ifdef HASX11}
if ((QtWidgetSet.WindowManagerName = 'kwin') and IsOldKDEInstallation) or if ((QtWidgetSet.WindowManagerName = 'kwin') and IsOldKDEInstallation) or
(QtWidgetSet.WindowManagerName = 'xfwm4') or (QtWidgetSet.WindowManagerName = 'xfwm4') or
(QtWidgetSet.WindowManagerName = 'metacity') then (QtWidgetSet.WindowManagerName = 'metacity') or
(QtWidgetSet.WindowManagerName = 'marco') then
begin begin
W := nil; W := nil;
ActiveWin := GetActiveWindow; ActiveWin := GetActiveWindow;
@ -537,7 +538,7 @@ begin
SetSkipX11Taskbar(Widget.Widget, True); SetSkipX11Taskbar(Widget.Widget, True);
Widget.setShowInTaskBar(False); Widget.setShowInTaskBar(False);
end; end;
if (QtWidgetSet.WindowManagerName = 'metacity') then if (QtWidgetSet.WindowManagerName = 'metacity') or (QtWidgetSet.WindowManagerName = 'marco') then
X11Raise(QWidget_winID(Widget.Widget)); X11Raise(QWidget_winID(Widget.Widget));
end else end else
if (TForm(AWinControl).FormStyle = fsSplash) then if (TForm(AWinControl).FormStyle = fsSplash) then