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 124016 - On a autohide, parent panel goes down with its open drawers
On a autohide, parent panel goes down with its open drawers
Status: RESOLVED FIXED
Product: gnome-panel
Classification: Other
Component: general
2.4.x
Other Linux
: Normal normal
: ---
Assigned To: Panel Maintainers
Panel Maintainers
Depends on:
Blocks:
 
 
Reported: 2003-10-07 12:44 UTC by Arvind S N
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
First attempt (5.22 KB, patch)
2003-10-07 12:50 UTC, Arvind S N
none Details | Review
With comments incorporated. (4.69 KB, patch)
2003-10-07 13:37 UTC, Arvind S N
none Details | Review

Description Arvind S N 2003-10-07 12:44:38 UTC
I am creating this bug to further re-scope bug 121382.
Comment 1 Arvind S N 2003-10-07 12:50:27 UTC
Created attachment 20531 [details] [review]
First attempt
Comment 2 Arvind S N 2003-10-07 12:52:50 UTC
Mark: This works quite fairly. At this point I am not sure if all the 
combinations work. Well, that's precisly the reason the HEAD is 
for. ;-)
Comment 3 Mark McLoughlin 2003-10-07 13:04:51 UTC
Patch looks pretty good. Some comments:

  + I think you'll need to propogate the autohide disabler up to    
    parent drawers ... i.e. something like:

    static void
    panel_toplevel_push_autohide_disable (PanelToplevel *toplevel)
    {
      g_return_if_fail (toplevel != NULL);

      toplevel->priv->attach_toplevel_count++;

      if (toplevel->priv->attach_toplevel)
        panel_toplevel_push_autohide_disable (
                     toplevel->priv->attach_toplevel);
    }

  + The function names should be push_autohide_disabler,    
    pop_autohide_disabler.

  + Rename attach_toplevel_count to n_autohide_disablers.

  + Rename panel_toplevel_attach_toplevel_count to 
    panel_toplevel_get_autohide_disabled and make it return a bool.

  + No need to use panel_toplevel_get_attach_toplevel in the code. Can 
    just use toplevel->priv->attach_toplevel.

  + In pop_autohide_disabler you'll want a pre-condition that 
    n_autohide_disablers > 0


Comment 4 Arvind S N 2003-10-07 13:37:41 UTC
Created attachment 20534 [details] [review]
With comments incorporated.
Comment 5 Arvind S N 2003-10-07 13:45:26 UTC
> + I think you'll need to propogate the autohide disabler up to    
>   parent drawers ...

Count on the base drawer attached to the panel should be enough.
Drawers holding other drawers work well without this. Is there
something I am missing ?
Comment 6 Mark McLoughlin 2003-10-07 14:02:11 UTC
Ah yes, I see what you're saying - good point.

A couple of tiny comments - feel free to commit after you fix these up:

  + g_return_if_fail  (toplevel != NULL); - you've two spaces between
    the parentheses

  + if (toplevel->priv->n_autohide_disablers > 0) - this should be an
    assertion - i.e. 
    g_return_if_fail (toplevel->priv->n_autohide_disablers > 0);
Comment 7 Arvind S N 2003-10-09 05:17:02 UTC
Fixed in HEAD and gnome-2-4 branches. Thanks.
Comment 8 Leonard den Ottolander 2004-02-12 18:47:00 UTC
Is there a "final" patch that incorporates fixes to the last comments?
Could it be posted here? TIA.
Comment 9 Arvind S N 2004-02-13 03:06:37 UTC
I have cleaned up stuff on my system. But it should not be great work
to provide you one. But just wonderning why you needed it ? It's
already in the CVS.
Comment 10 Leonard den Ottolander 2004-02-13 18:36:42 UTC
To get it into Fedora Core 1 (patching against current version). I
guess I could check the latest patch here against current code and see
what final changes you made, but if you can provide diff between the
two relevant CVS versions that of course would be easier (for me ;).
Comment 11 Vincent Untz 2004-02-14 11:09:05 UTC
I don't understant: is it not ok to use the latest 2.4.x gnome-panel
in Core 1?
This is a stable release so it contain only bugfixes (which you might
need to do yourself too).
Comment 12 Leonard den Ottolander 2004-02-14 21:38:33 UTC
As I am not in charge of FC1 development I want to propose an update
of gnome-panel, but I want to be able to offer different upgrade
paths: Either use available patches or upgrade to 2.4.2. I am not sure
which would be easier to achieve on FC1 (not sure how much FC1
specific patches would trouble upgrading to 2.4.2).

Having the complete patch to test before proposing anything would be
nice, but if that is too much of a hassle I am probably able to
produce it using the patch attached here and the latest CVS.
Comment 13 Leonard den Ottolander 2004-02-15 15:34:43 UTC
Can I generate a diff -u using Bonsai? If so how?

Which versions should I diff to retrieve this patch? 1.37 and 1.38?
Any other files affected in the final version that are not in the
attached diff (ie any file other than gnome-panel/ChangeLog and
gnome-panel/panel-toplevel.c)?
Comment 14 Vincent Untz 2004-02-20 15:01:25 UTC
Sorry for the late answer.
You can see a diff there:
http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&root=/cvs/gnome&subdir=gnome-panel/gnome-panel&command=DIFF_FRAMESET&file=panel-toplevel.c&rev2=1.38&rev1=1.37
However, there were more bugs fixed and I really recommend that you
package latest 2.4.x package.