Gtkmm-forge digest, Vol 1 #1128 - 15 msgs



Send Gtkmm-forge mailing list submissions to
	gtkmm-forge lists sourceforge net

To subscribe or unsubscribe via the World Wide Web, visit
	https://lists.sourceforge.net/lists/listinfo/gtkmm-forge
or, via email, send a message with subject or body 'help' to
	gtkmm-forge-request lists sourceforge net

You can reach the person managing the list at
	gtkmm-forge-admin lists sourceforge net

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Gtkmm-forge digest..."


gtkmm-forge is the mailing list that receives gtkmm bug reports from bugzilla.  A daily digest is sent to gtkmm-main, to encourage people to help fixing the bugs. Do not try to unsubscribe gtkmm-forge from gtkmm-list.


Today's Topics:

   1. [Bug 339791] Gtk::Menu crash with child (gtkmm (bugzilla.gnome.org))
   2. [Bug 339791] Gtk::Menu crash with child (gtkmm (bugzilla.gnome.org))
   3. [Bug 341380] Optionally disable on_*() default signal handlers. (glibmm (bugzilla.gnome.org))
   4. [Bug 339791] Gtk::Menu crash with child (gtkmm (bugzilla.gnome.org))
   5. [Bug 341380] Optionally disable on_*() default signal handlers. (glibmm (bugzilla.gnome.org))
   6. [Bug 339791] Gtk::Menu crash with child (gtkmm (bugzilla.gnome.org))
   7. [Bug 341380] Optionally disable on_*() default signal handlers. (glibmm (bugzilla.gnome.org))
   8. [Bug 341380] Optionally disable on_*() default signal handlers. (glibmm (bugzilla.gnome.org))
   9. [Bug 339791] Gtk::Menu crash with child (gtkmm (bugzilla.gnome.org))
  10. [Bug 339791] Gtk::Menu crash with child (gtkmm (bugzilla.gnome.org))
  11. [Bug 339791] Gtk::Menu crash with child (gtkmm (bugzilla.gnome.org))
  12. [Bug 339791] Gtk::Menu crash with child (gtkmm (bugzilla.gnome.org))
  13. [Bug 339791] Gtk::Menu crash with child (gtkmm (bugzilla.gnome.org))
  14. [Bug 339791] Gtk::Menu crash with child (gtkmm (bugzilla.gnome.org))
  15. [Bug 341895] gtkmm 2.8.6/2.8.7 are utterly hosed (gtkmm (bugzilla.gnome.org))

--__--__--

Message: 1
To: gtkmm-forge lists sourceforge net
From: "gtkmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 06:08:20 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 339791] Gtk::Menu crash with child

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D339791
 gtkmm | general | Ver: 2.8.x





------- Comment #7 from Paul Davis  2006-05-17 10:08 UTC -------
Created an attachment (id=3D65656)
 --> (http://bugzilla.gnome.org/attachment.cgi?id=3D65656&action=3Dview)
Slightly altered test case.

I altered the test case for this bug slightly.

#1 I added a managed widget to the mix to make sure my changes weren't
preventing managed widgets from being deleted properly.

#2 I added a second un-manage()ed widget to the scheme to make sure my ch=
anges
wouldn't choke on something that wasn't a menu.


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 2
To: gtkmm-forge lists sourceforge net
From: "gtkmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 06:11:10 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 339791] Gtk::Menu crash with child

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D339791
 gtkmm | general | Ver: 2.8.x





------- Comment #8 from Paul Davis  2006-05-17 10:11 UTC -------
Created an attachment (id=3D65657)
 --> (http://bugzilla.gnome.org/attachment.cgi?id=3D65657&action=3Dview)
Patch for this bug

The patch I came up with for this bug.

Changes the Gtk::Menu_Helpers::MenuElem destructor to a custom implementa=
tion.

Adds a simple check, if( this->has_submenu() ) this->remove_submenu() ;

And thats that.

I think it took me longer to get gtkmm built from source than to figure o=
ut the
patch.


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 3
To: gtkmm-forge lists sourceforge net
From: "glibmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 06:35:54 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 341380] Optionally disable on_*() default signal handlers.

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D341380
 glibmm | build | Ver: unspecified


Paul Davis changed:

           What    |Removed                     |Added
-------------------------------------------------------------------------=
---
                 CC|                            |pjdavis engineering uiow=
a.ed
                   |                            |u




------- Comment #5 from Paul Davis  2006-05-17 10:35 UTC -------
Would it be against the rules to add a ./configure option to the effect o=
f:
--disable-virtual-signals to the configure scripts?  Have it default to f=
alse
so that beginners aren't confused why a function doesn't exist when all t=
he
docs say it does.


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 4
To: gtkmm-forge lists sourceforge net
From: "gtkmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 06:29:09 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 339791] Gtk::Menu crash with child

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D339791
 gtkmm | general | Ver: 2.8.x


Paul Davis changed:

           What    |Removed                     |Added
-------------------------------------------------------------------------=
---
                 CC|                            |pjdavis engineering uiow=
a.ed
                   |                            |u




--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 5
To: gtkmm-forge lists sourceforge net
From: "glibmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 06:48:02 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 341380] Optionally disable on_*() default signal handlers.

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D341380
 glibmm | build | Ver: unspecified





------- Comment #6 from Murray Cumming  2006-05-17 10:48 UTC -------
0. This patch would indeed add --disable-api-default-signal-handlers (aut=
o*
adds a --disable as well as --enable for each option.)
1. configure options are irrelevant to most coders. They use the distro
packages, which use the defaults. This option would be for embedded use.
2. It wouldn't be against the rules. I already added --disable-api-vfuncs=
 and
--disable-api-properties.

Maybe you are talking about hiding the API in the headers, but still buil=
ding
it in the library. We can't do that because a) these are vfuncs, and we w=
ould
then be lying about the true object instance sizes, and b) the point of t=
his is
to reduce code size.


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 6
To: gtkmm-forge lists sourceforge net
From: "gtkmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 06:52:09 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 339791] Gtk::Menu crash with child

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D339791
 gtkmm | general | Ver: 2.8.x





------- Comment #9 from Murray Cumming  2006-05-17 10:52 UTC -------
Sounds sensible, though I'd rather know why the submenu doesn't get infor=
med of
the death of its parent, and most sub-widgets do. Maybe it's a timing/seq=
uence
thing. At the least, we need a comment explaining why we do the remove, e=
ven if
it's just the URL of bug.

I think we have a similar solution/hack for Container (maybe not any more=
).
Maybe submenus are nore listed like regular children.


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 7
To: gtkmm-forge lists sourceforge net
From: "glibmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 06:57:23 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 341380] Optionally disable on_*() default signal handlers.

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D341380
 glibmm | build | Ver: unspecified





------- Comment #7 from Paul Davis  2006-05-17 10:57 UTC -------
0. Cool. At one time I started playing with configure scripts, but then I=
 found
scons so I only know enough to get me by.

1. Yeah, point being, people who don't care enough to compile their own (=
I
assume embedded systems require a build) don't get the benefit of removin=
g the
vfuncs.

2. I don't see them in gtkmm. I do see them in glibmm now though, but I w=
asn't
really looking there.

No, I'm talking about the same thing you are, just didn't see the options=
 in
the gtkmm configure script.


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 8
To: gtkmm-forge lists sourceforge net
From: "glibmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 07:20:10 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 341380] Optionally disable on_*() default signal handlers.

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D341380
 glibmm | build | Ver: unspecified





------- Comment #8 from Murray Cumming  2006-05-17 11:20 UTC -------
Sorry, yes, they are in glibmm.


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 9
To: gtkmm-forge lists sourceforge net
From: "gtkmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 07:20:27 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 339791] Gtk::Menu crash with child

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D339791
 gtkmm | general | Ver: 2.8.x





------- Comment #10 from Paul Davis  2006-05-17 11:20 UTC -------
A little more probing reveals:

Submenus seem to be unconditionally destroyed. Thus negating all existanc=
e. Or
at least some pretty big assumptions.

check out: gtk+/gtk/gtkmenuitem.c
Line: 296ish in gtk_menu_destroy

  if (menu_item->submenu)
    gtk_widget_destroy (menu_item->submenu);

It would appear to be deleting the C object out from under the C++ object=
. Then
when we delete our Menu, it tries to detach itself, but gets caught up by
having a dead C object.

Granted, I could be out in left field here too.  I'm assuming that
gtk_menu_item_destroy is being called when a Gtk::MenuItem is destroyed.

And gtk_menu_item_destroy appears to be an internal API and I can't find =
any
docs on whether this is expected behavior or not, so I'm not entirely sur=
e
whether to file this as a bug or pat someone on the back for writing it
correctly.


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 10
To: gtkmm-forge lists sourceforge net
From: "gtkmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 07:25:54 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 339791] Gtk::Menu crash with child

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D339791
 gtkmm | general | Ver: 2.8.x





------- Comment #11 from Murray Cumming  2006-05-17 11:25 UTC -------
> Submenus seem to be unconditionally destroyed

This is also true of GtkContainer children in general. However, we preven=
t the
destruction from actually happening. I think it's in some *dispose*
vfunc/callback somewhere. Maybe it's not working properly for the sub men=
u.


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 11
To: gtkmm-forge lists sourceforge net
From: "gtkmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 07:29:41 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 339791] Gtk::Menu crash with child

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D339791
 gtkmm | general | Ver: 2.8.x





------- Comment #12 from Murray Cumming  2006-05-17 11:29 UTC -------
I think the relevant part might be:
"
void Widget_Class::dispose_vfunc_callback(GObject* self)
{
...
      // Remove the widget from its parent container so that it
      // won't be destroyed later by gtk_container_destroy().
...
"

But maybe there's something else too. We changed how we did this at least=
 once,
so I get confused.


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 12
To: gtkmm-forge lists sourceforge net
From: "gtkmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 08:14:20 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 339791] Gtk::Menu crash with child

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D339791
 gtkmm | general | Ver: 2.8.x





------- Comment #13 from Paul Davis  2006-05-17 12:14 UTC -------
Aha!  I think....

Gtk::MenuItem is a container. Duh.  What MenuItem doesn't have is a custo=
m
remove() method that removes the reference to its submenu.

I've added some g_warnings to track this down.  In my custom destructor, =
we're
still trying to destroy the submen of the unmanaged widget.

But the problem is,

void Gtk::Bin::remove( Widget& w ) ;

is not virtual, so isn't it bad to override that?

I saw virual void Gtk::Bin::on_remove( Widget& w ) ;

But I can't find an example else where on how to implement this with all =
this
crazy m4 stuff.


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 13
To: gtkmm-forge lists sourceforge net
From: "gtkmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 08:27:58 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 339791] Gtk::Menu crash with child

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D339791
 gtkmm | general | Ver: 2.8.x





------- Comment #14 from Murray Cumming  2006-05-17 12:27 UTC -------
> Gtk::MenuItem is a container

Yeah, but Gtk::Menu isn't a Gtk::MenuItem. I think it's more relevant tha=
t
Gtk::Menu is a Gtk::Container. I don't see Gtk::Bin anywhere in the hiera=
rchy.

> What MenuItem doesn't have is a custom remove() method that removes the=
 reference to its submenu.

I'd expect GtkMenu to take care of making gtk_container_remove(submenu)
actually remove the sub menu, possibly via some vfunc. Maybe it uses the
GtkContainer::"remove"signal, but that seems odd.


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 14
To: gtkmm-forge lists sourceforge net
From: "gtkmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 08:28:45 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 339791] Gtk::Menu crash with child

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D339791
 gtkmm | general | Ver: 2.8.x





------- Comment #15 from Murray Cumming  2006-05-17 12:28 UTC -------
By gtk_container_remove(submenu), I mean gtk_container_remove(menu, subme=
nu).


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


--__--__--

Message: 15
To: gtkmm-forge lists sourceforge net
From: "gtkmm (bugzilla.gnome.org)" <bugzilla-daemon bugzilla gnome org>
Date: Wed, 17 May 2006 08:29:18 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 341895] gtkmm 2.8.6/2.8.7 are utterly hosed

Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D341895
 gtkmm | general | Ver: 2.8.x





------- Comment #8 from Murray Cumming  2006-05-17 12:29 UTC -------
Does this seem better now?


--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.



--__--__--

_______________________________________________
Gtkmm-forge mailing list
Gtkmm-forge lists sourceforge net
https://lists.sourceforge.net/lists/listinfo/gtkmm-forge


End of Gtkmm-forge Digest



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]