Am 08.10.2012 09:55, schrieb Kjell Ahlstedt:
2012-10-07 21:42, Jonas Platte skrev:
Am 05.10.2012 06:06, schrieb Ian Martin:
On 05/10/12 03:04, Jonas Platte wrote:
Hello,
I recently found a bug in gtkmm. I filed a bug report on launchpad
(I've got no bugzilla account and didn't really search much at
first):
https://bugs.launchpad.net/ubuntu/+source/gtkmm3.0/+bug/1055744
Now I want to try to debug it, but I have absolutely no experience
in debugging that kind of code. After the second try, I succeeded
to get the source from git, and I also looked trough the files, but
the problem is that I don't really understand the structure there.
I know that it's not a simple C++-Library, but a wrapper for the
C-Library. I had problems too with the debugger to get to the
include-files (I use Anjuta).
Is there anybody who could help me with that? :)
Hi,
You want to use jhbuild to get and build the source, as per the fine
manual: there's a chapter on working with source code.
<http://developer.gnome.org/gtkmm-tutorial/stable/chapter-working-with-source.html.en>
It gives a detailed description of how to wrap a class.
Ian.
Thanks for that link, I'll read it in the next days. I now know what
the problem is, and I wanted to ask how to deal with it:
If you add some widget without native ability to scroll to a
ScrolledWindow, it adds a Viewport to the ScrolledWindow in which it
stores the widget. If you now use the remove() function on that
ScrolledWindow, it removes the viewport from the ScrolledWindow, so
you don't have any access to the Viewport anymore and can't re-add
your widget to the ScrolledWindow.
To fix that, I would declare Gtk::Bin::remove() as virtual and
override it in Gtk::ScrolledWindow. Is this a good idea or how would
you deal with that problem?
Can you please file a bug in Bugzilla! This bug seems to have gone
unnoticed by the gtkmm developers for a long time.
(https://bugs.launchpad.net/ubuntu/+source/gtkmm2.4/+bug/30345 from
2006-02-02) That's probably what to expect when bug reports have been
filed only in launchpad. If you don't have a Bugzilla account, you can
get one very easily. Just go to https://bugzilla.gnome.org, click
"Open a New Account" and follow the instructions.
Making Gtk::Bin::remove() virtual will break ABI, and that's not
allowed now. Probably it will not be allowed before gtk+ 4 and gtkmm 4
are released. I don't know when that will be. Adding a virtual
function will add an entry to the vfunc table.
You can add a non-virtual Gtk::ScrolledWindow::remove() without
breaking ABI, but I suppose that's not as good.
Kjell
Okay I filed a bug on GNOME bugzilla now. It's available here:
https://bugzilla.gnome.org/show_bug.cgi?id=685739
Who decides now how to deal with this?
_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list