mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-27 08:19:15 +01:00
Gtk2: do not blindly unmaximize and deiconify GtkWindow. issue #10698
git-svn-id: trunk@34530 -
This commit is contained in:
parent
d6decbd088
commit
5ca2d85d66
@ -4894,6 +4894,7 @@ var
|
|||||||
AWindow: PGdkWindow;
|
AWindow: PGdkWindow;
|
||||||
ACustomForm: TCustomForm;
|
ACustomForm: TCustomForm;
|
||||||
CurWindowState: TWindowState;
|
CurWindowState: TWindowState;
|
||||||
|
WidgetInfo: PWidgetInfo;
|
||||||
begin
|
begin
|
||||||
if not (Sender is TWinControl) then
|
if not (Sender is TWinControl) then
|
||||||
RaiseWrongClass;
|
RaiseWrongClass;
|
||||||
@ -4985,9 +4986,16 @@ begin
|
|||||||
case CurWindowState of
|
case CurWindowState of
|
||||||
wsNormal:
|
wsNormal:
|
||||||
begin
|
begin
|
||||||
|
WidgetInfo := GetWidgetInfo(SenderWidget);
|
||||||
|
with WidgetInfo^.FormWindowState do
|
||||||
|
begin
|
||||||
|
if new_window_state and GDK_WINDOW_STATE_ICONIFIED <> 0 then
|
||||||
gtk_window_deiconify(PGtkWindow(SenderWidget));
|
gtk_window_deiconify(PGtkWindow(SenderWidget));
|
||||||
|
if (new_window_state and GDK_WINDOW_STATE_MAXIMIZED <> 0) or
|
||||||
|
(new_window_state and GDK_WINDOW_STATE_FULLSCREEN <> 0) then
|
||||||
gtk_window_unmaximize(PGtkWindow(SenderWidget));
|
gtk_window_unmaximize(PGtkWindow(SenderWidget));
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
wsMaximized: gtk_window_maximize(PGtkWindow(SenderWidget));
|
wsMaximized: gtk_window_maximize(PGtkWindow(SenderWidget));
|
||||||
wsMinimized: gtk_window_iconify(PGtkWindow(SenderWidget));
|
wsMinimized: gtk_window_iconify(PGtkWindow(SenderWidget));
|
||||||
end;
|
end;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user