diff --git a/ChangeLog b/ChangeLog index 6dd0edeb5..580bae38c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-06-29 Rob Adams + + * src/constraints.c (meta_window_constrain): Actually maximize + after placement. See #116285. + 2003-06-26 Havoc Pennington * src/workspace.c (meta_workspace_invalidate_work_area): nuke the diff --git a/src/constraints.c b/src/constraints.c index 74fefcb03..dba1d2f2e 100644 --- a/src/constraints.c +++ b/src/constraints.c @@ -1233,6 +1233,7 @@ meta_window_constrain (MetaWindow *window, { ConstraintInfo info; MetaRectangle current; + gboolean did_placement; #define OUTER_WIDTH(rect) ((rect).width + info.fgeom.left_width + info.fgeom.right_width) #define OUTER_HEIGHT(rect) ((rect).height + info.fgeom.top_height + info.fgeom.bottom_height) @@ -1272,6 +1273,7 @@ meta_window_constrain (MetaWindow *window, * maximized/fullscreen windows until they are unmaximized * and unfullscreened */ + did_placement = FALSE; if (!window->placed && window->calc_placement && !window->maximized && @@ -1281,6 +1283,7 @@ meta_window_constrain (MetaWindow *window, meta_window_place (window, orig_fgeom, current.x, current.y, &placed_rect.x, &placed_rect.y); + did_placement = TRUE; /* placing the window may have changed the xinerama. Find the * new xinerama and update the ConstraintInfo @@ -1305,7 +1308,7 @@ meta_window_constrain (MetaWindow *window, } if (window->maximize_after_placement && - window->placed) + (window->placed || did_placement)) { window->maximize_after_placement = FALSE; meta_window_maximize_internal (window, new);