After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 108497 - Sometimes struts don't get noticed/workareas don't get invalidated
Sometimes struts don't get noticed/workareas don't get invalidated
Status: RESOLVED FIXED
Product: metacity
Classification: Other
Component: general
2.4.x
Other other
: Normal normal
: ---
Assigned To: Metacity maintainers list
Metacity maintainers list
Depends on: 86682
Blocks:
 
 
Reported: 2003-03-16 00:55 UTC by Rob Adams
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: 2.3/2.4



Description Rob Adams 2003-03-16 00:55:47 UTC
Since the new constraints code, sometimes work areas aren't invalidated
properly or struts are ignored somehow, so windows will maximize behind the
panel.  Very intermittent.
Comment 1 Rob Adams 2003-04-07 04:08:05 UTC
when metacity is started from a terminal using a --replace, the struts
on all other workspaces (other than the one from which metacity was
started) are ignored for some reason in the work area calculation.  I
can reproduce this fairly consistently now that I've actually figured
out the pattern.  Making a change that invalidates the work areas
causes metacity to start computing the work areas properly again.

Looking at this more closely, it's apparent that this is not a bug in
the ensure_work_areas validated function; when it computes the work
areas has_struts is set to zero on windows such as the panel.  Somehow
the work areas are being computed before the struts property is
updated, and then not being recomputed later when the struts are
updates on non-visible workspaces.
Comment 2 Rob Adams 2003-05-28 23:52:25 UTC
Apparently this bug also exists in 2.4.34.  I had been assuming that
the new constraints code introduced it, but I guess not after all. 
This should help in tracking it down if I ever get around to it.
Comment 3 Rob Adams 2003-06-09 03:22:02 UTC
OK I figured out why it's doing this.  It's really pretty obvious in
retrospect:

in meta_window_new update_struts was being called after the workspaces
were calculated, so of course window->on_all_workspaces is false when
the workareas are invalidated.

The fix conflicts with my latest partial_width patch, so I'm just
going to roll this fix into that patch.  Marking the bug dependancy
for this bug, which we can close as soon as that patch goes in.
Comment 4 Rob Adams 2003-06-26 03:46:35 UTC
should now be fixed in CVS