Re: Dispatch of GObject virtual functions in GtkMM



No, I didn't have a chance to find out what my local problem is. What
versions of glibmm and gtkmm did you use, Murray? I was using Glibmm
2.10.7 and Gtkmm 2.8.9 [no Gtk+ 2.10 on my platform, for now].

Maybe the weekend will give me a chance to try with newer versions.

On 1/27/07, Murray Cumming <murrayc murrayc com> wrote:
Did you ever get this to work?

I really like to know if there really are performance problems
associated with the callbacks, so we can fix them if necessary.

On Fri, 2007-01-12 at 21:58 +0100, Murray Cumming wrote:
> On Thu, 2007-01-11 at 08:20 -0600, Matt Hoosier wrote:
> > Oh, sorry; typographical errors didn't make my meaning very clear.
> >
> > The test program which I attached earlier
>
> Of course I had to comment out the on_expose_event() method, because it
> calls the now non-existant Window::on_expose_event(). I found it rather
> odd that it called Main::quit() anyway.
>
> >  hangs forever on the
> > Window::add() call.
>
> It works for me. It shows a matrix of buttons and checkboxes.
>
> I built glibmm with
>   --enable-vfuncs=no --enable-default-signal-handlers=no
> and then I rebuilt gtkmm with
>   --enable-demos=no --enable-examples=no
>
> Could you post your exact test case and also the stacktrace, please.
>
> Another thought: If these slowdowns are real and significant, then you
> could invesigate them with a tool such as kcachegrind (after getting the
> data from valgrind). kcachegrind isn't useful for IO-bound performance
> problems, but should be fine for this.
>
> >  When I take a look at the stacktrace in a
> > debugger, the results make no sense:
> >
> > There's only one thread, and none of the frames in its stack are
> > resolvable to any known symbol. Not even the bottommost one, which
> > should be main().
> >
> > This is the exact set of symptoms that showed up when I was debugging
> > the problem in glibmm which turned out to be caused by a wrong
> > C_GNUC_NORETURN annotation.
> >
> > But none of the various overrides of Container::add() seems to put
> > that annotation on, so I'm out of obvious suspects to consider.
>
--
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]