diff --git a/ChangeLog b/ChangeLog index a8486031d..8b3de5974 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2003-08-18 Rob Adams + + * src/constraints.c (meta_window_constrain): recalculate frame + geometry if the window gets maximized after placement, since it's + likely to change. Fix for #120117. + 2003-08-17 Ray Strode * src/delete.c (meta_window_delete): Use MRU list to find focusing diff --git a/src/constraints.c b/src/constraints.c index 5509089c8..f86e47823 100644 --- a/src/constraints.c +++ b/src/constraints.c @@ -1348,6 +1348,14 @@ meta_window_constrain (MetaWindow *window, { window->maximize_after_placement = FALSE; meta_window_maximize_internal (window, new); + + /* maximization may have changed frame geometry */ + if (orig_fgeom && !window->fullscreen) + { + meta_frame_calc_geometry (window->frame, + orig_fgeom); + info.fgeom = *orig_fgeom; + } } /* Maximization, fullscreen, etc. are defined as a resize followed by @@ -1356,8 +1364,6 @@ meta_window_constrain (MetaWindow *window, */ if (window->fullscreen) { - int center_x; - current = *new; constrain_resize_bottom (window, &info, ¤t, (info.xinerama->height - OUTER_HEIGHT (current)),