Re: AboutDialog url hook not working?



On Sun, 2006-06-11 at 22:45 -0500, Jonathon Jongsma wrote:
> I don't know exactly when, but fairly recently, the website link on
> the "About" dialog of my application stopped working (sometimes it
> would segfault, sometimes just didn't do anything).  I haven't changed
> anything in that part of the application, so I'm thinking it must have
> been due to a gtkmm or gtk update from my distribution.  I'm currently
> running Ubuntu dapper (gtkmm version 2.8.5-0ubuntu1).

Me too.

>   I've also tried
> building it against my jhbuild gtkmm installation, and the same thing
> happens.  I haven't found an easy way of trying an earlier version.  I
> haven't done any hard-core digging yet, i thought I'd check first to
> see whether anybody else has noticed this.

It doesn't work for me either. I guess theoretically I could have broken
it with my recent changes, but I can't see anything obvious by looking
at gtk/src/about.ccg.

Something seems to be wrong somewhere though. Valgrind reports this when
I click on the link:

==27202==    at 0x4171B49:
SignalProxy_ActivateLink_gtk_callback(_GtkAboutDialog*, char const*,
void*) (slot_base.h:273)
==27202==    by 0x43C4190: activate_url (gtkaboutdialog.c:1627)
==27202==    by 0x48BBDF2: g_cclosure_marshal_VOID__VOID (gmarshal.c:77)
==27202==    by 0x48AEEFE: g_closure_invoke (gclosure.c:490)
==27202==    by 0x48BEEA4: signal_emit_unlocked_R (gsignal.c:2438)
==27202==    by 0x48C09C9: g_signal_emit_valist (gsignal.c:2197)
==27202==    by 0x48C0D18: g_signal_emit (gsignal.c:2241)
==27202==    by 0x43DD991: gtk_button_clicked (gtkbutton.c:889)
==27202==    by 0x43DFA22: gtk_real_button_released (gtkbutton.c:1484)
==27202==    by 0x48BBDF2: g_cclosure_marshal_VOID__VOID (gmarshal.c:77)
==27202==    by 0x48AE8CE: g_type_class_meta_marshal (gclosure.c:567)
==27202==    by 0x48AEEFE: g_closure_invoke (gclosure.c:490)
==27202==    by 0x48BF1FB: signal_emit_unlocked_R (gsignal.c:2368)
==27202==    by 0x48C09C9: g_signal_emit_valist (gsignal.c:2197)
==27202==    by 0x48C0D18: g_signal_emit (gsignal.c:2241)
==27202==    by 0x43DD90E: gtk_button_released (gtkbutton.c:881)
==27202==    by 0x43DEF28: gtk_button_button_release (gtkbutton.c:1377)
==27202==    by 0x44B76D7: _gtk_marshal_BOOLEAN__BOXED
(gtkmarshalers.c:83)
==27202==    by 0x48AE8CE: g_type_class_meta_marshal (gclosure.c:567)
==27202==    by 0x48AEEFE: g_closure_invoke (gclosure.c:490)
==27202==  Address 0x521B2FC is 4 bytes inside a block of size 44 free'd
==27202==    at 0x401D268: operator delete(void*)
(vg_replace_malloc.c:246)
==27202==    by 0x4756196: sigc::slot_base::~slot_base()
(slot_base.cc:101)
==27202==    by 0x41BD28B: Gtk::Main::run(Gtk::Window&) (slot.h:422)
==27202==    by 0x8049CB3: main
(in /home/murrayc/cvs/gnome216/gtkmm/a.out)


> I've attached a stripped-down example application that just shows a
> dialog and registers its url handler with set_url_hook(). The url hook
> is just supposed to print a message to the terminal.  On my computer,
> the message never gets printed to the terminal.  I'd appreciate
> knowing whether this works for others (and what version you're trying
> with).  You can compile with the standard
> g++ `pkg-config --cflags --libs gtkmm-2.4` about.cc
> 
> In this test app, I don't get segfaults, but clicking the link does
> nothing.  In my application, I sometimes get segfaults, but the one
> big difference is that in my application, I inherit from
> Gtk::AboutDialog instead of using it directly,
> 
> Alternatively, if somebody can see something that I'm doing wrong,
> feel free to point it out.

-- 
Murray Cumming
murrayc murrayc com
www.murrayc.com
www.openismus.com




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