Gramps was written with GTK 2 toolkit. This has been replaced upstream with GTK 3, so Gramps should convert to GTK 3.
== Installation ==
=== Ubuntu 12.04 ===
For people on Ubuntu 12.04, you need:
sudo rm -rf /usr/lib/python2.7/dist-packages/gobject
== Problems ==
we cannot set strings in struct
see GTK bug
* error in list_families on textview in styledtexteditor: [https://bugzilla.gnome.org/show_bug.cgi?id=679654]
* str and unicode no longer seem to work, the encoding must be passed too; '''Future: deprecate unicode() in the code, as we want to support python 3'''
* there is no longer automatic conversion to str utf-8 when using GTK functions, we must convert before passing to GTK.
* glade can no longer work with our catalog. We need to upgrade comboboxentry to combobox with has_entry manually, and hope editors keep working... - '''
SOLVED:''' converted editevent. glade, all works* expose is no longer present on gtk. widget. Draw must be used. Unclear how, [https://mail. gnome. org/archives/commits-list/2010-December/msg01138. html].* Gtk. Clipboard seems to work differently* Pedigreeview is broken and must be converted to new drawing primitives. Same probably for fanchart.* osmgpsmap is GTK2. There is a GTK3 branch in git, we should try it, and contribute to the conversion.* menu. popup does not seem to work in some instances. Passing position function seems to be the workaround, see grampsbar. py for example
== Related Gramps Bugs ==
== How to investigate a hard crash?==
With GTK 3, hard crashes are a lot more likely than before. Very troubling for a python developer, as you do not know where the crash happens. So, to investigate these, do the following :
$ > gdb python
(gdb) set env
GRAMPSHOME /path/to/gramps/src (gdb) set env PYTHONPATH $PYTHONPATH:$GRAMPSHOME (gdb) r $ GRAMPSHOME/gramps.py
...after the crash...
This works best if you have the debug symbols installed for everything relevant, or are running from a self-built tree.