GNOME Bugzilla – Bug 649403
Support gtk3
Last modified: 2011-08-31 11:52:11 UTC
Created attachment 187226 [details] [review] GTK-3 plus libchamplain 0.10 Attached is patch that ports emerillon to gtk3 and libchamplain 0.10. It was written by Tom "spot" Callaway ( tcallawa@redhat.com ). The patch is currently being used in Fedora 15.
To those interested, I pushed that patch and some additional build fixes to a new 'gtk3' branch: http://git.gnome.org/browse/emerillon/commit/?h=gtk3
Awesome. Is there a timeframe to move to libpeas as ethos is gtk2 based and causes problems (although we have a patch in Fedora for it to build against gtk3)
Well, I did some initial porting of the main application to libpeas. The main application works but I haven't had time to port any plugin so I couldn't test if plugins work. I will try to port a plugin tommorow to see if things works. Anyway, as I am not a emerillion developer I cannot tell you if there is any release timeframe.
Well, the timeframe got eaten by my new job last year, for which I cannot even apologise. I'll take a look at it this week, as far as I can see apart for some whitespace issues and a gconf requirement it looks fine. So it should get merged into master ASAP. Thanks for the work guys!
Hi, Any update about this? Could be great if we can get GTK3 support Thanks!
I won't have time to continue to work on it but they rest (using the gtk3 branch) should be really straightforward...
(In reply to comment #6) > I won't have time to continue to work on it but they rest (using the gtk3 > branch) should be really straightforward... So can we consider emerillon dead?
Hello! I've made a bunch of fixes for the gtk3 branch so that it compiles for me and more... There are still many user-visible regressions left to fix (e.g. can't even drag the map around with the mouse). Is it ok if I push stuff directly to the gtk3 branch or should I publish somewhere else first?
Push it! It's an experimental branch.
Hi, The gtk3 branch FTBFS for me here: In file included from window.c:37:0: sidebar.h:51:3: error: unknown type name 'GtkVBox' sidebar.h:58:3: error: unknown type name 'GtkVBoxClass' It seems that GtkVBox is deprecated in GTK+ 3.2
Created attachment 193359 [details] [review] Do not use deprecated GtkVBox and GtkHBox
Comment on attachment 193359 [details] [review] Do not use deprecated GtkVBox and GtkHBox committed the vala bindings part... the rest was already fixed.
The gtk3 branch should now be in pretty good shape except for one major issue, there's no way to interact directly with the map (eg. drag the map around with the mouse). This is all supposed to be handled internally inside libchamplain, but apparently the gtk3 version of emerillon breaks libchamplain somehow since libchamplains kinetic scroll event callback function never gets called when running under emerillon while it works when running under the "launcher-gtk" demo that's part of libchamplain. I've tried to look at differences between launcher-gtk and emerillon and only found that launcher-gtk does "clutter_actor_set_reactive (CLUTTER_ACTOR (view), TRUE);" but adding the same to emerillon didn't change anything. I also got the suggestion to try to disable XI2 events (via gdk_disable_multidevice()) but that also didn't change anything.... Any additional suggestions or hints on how to debug where the mouse/button press events end up (do they even reach clutter?) would be much appreciated.
Thanks to Emilio Pozuelo Monfort for the hint on the cause for the clutter breakage the major issue is now gone.... (the command line options lat/lon was sacrificed). Re-introducing the lat/lon command line options and re-introducing possibility to click a marker in the map and get the matching search result line in the sidebar highlighted is the only two minor remaining issues that I've identified to be functionally equivalent to the gtk2 version. Both are very low priority IMHO. Both documented in the TODO. Someone reviewing the changes would be very welcome!
I have issues with autogen.sh on fedora 16
Created attachment 193571 [details] [review] Use gtk3 Requires in emerillon.pc
Created attachment 193572 [details] [review] Drop gconf requirement gconf doesn't seem required anymore
FTBFS here: GISCAN Emerillon-0.1.gir (emerillon:28756): Gtk-CRITICAL **: gtk_settings_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed (emerillon:28756): GLib-GObject-WARNING **: invalid (NULL) pointer instance (emerillon:28756): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (emerillon:28756): GLib-GIO-CRITICAL **: Settings schema 'org.gnome.emerillon.ui' is not installed (emerillon:28756): libpeas-WARNING **: Type not found in introspection: 'PeasActivatable' (emerillon:28756): GLib-GIO-CRITICAL **: g_settings_get_key_info: assertion `settings->priv->schema != NULL' failed (emerillon:28756): GLib-CRITICAL **: g_variant_get_type: assertion `value != NULL' failed (emerillon:28756): GLib-CRITICAL **: g_variant_type_is_subtype_of: assertion `g_variant_type_check (type)' failed (emerillon:28756): GLib-CRITICAL **: g_variant_get_int32: assertion `g_variant_is_of_type (value, G_VARIANT_TYPE_INT32)' failed Command '['./emerillon', '--introspect-dump=/tmp/tmp-introspectR2hfGJ/types.txt,/tmp/tmp-introspectR2hfGJ/dump.xml']' returned non-zero exit status -11 make[4]: *** [Emerillon-0.1.gir] Erreur 1
Created attachment 193587 [details] [review] GIR generation bugfix fixed.
Sorry my previous bugfix suddenly stopped working and crashes like in comment #18. I have no idea what's going on. Gedit has a working GIR generation for plugins. My code is nearly identical: http://git.gnome.org/browse/gedit/tree/gedit/Makefile.am
Created attachment 193593 [details] [review] Add cogl, clutter and gtk_clutter options groups Could please revert 55410c7bc04f009737ce1177ef1e77e0c269726e and c5d7fcccd9f509ad78f50eb9d43af7087099ec5c (Update of the TODO file) And apply the following series patches
Created attachment 193594 [details] [review] gdk_disable_multidevice() before initializing all the stuff
Created attachment 193595 [details] [review] Free option group context
Review of attachment 193587 [details] [review]: Hi, thanks for your patch. Are these changes actually needed? I've no problem with gir file generation
(In reply to comment #24) > Review of attachment 193587 [details] [review]: > > Hi, thanks for your patch. > > Are these changes actually needed? I've no problem with gir file generation Hi, Probably not. But the patch is still a nice cleanup. It removes unnecessary dependencies and hardcoded files.
ok, but in the patch you have provided, there are still references to gedit:)
Created attachment 193601 [details] [review] improved gir generation Oops... shame on me! :) Fixed it.
Laurent and Simons improvements pushed. Now everything should be in a rocking shape (except for one very minor issue as documented in TODO)! More reviewing always welcome though! =)
Its looking much better in Fedora 16/rawhide except I get the following error generating the GIR. /usr/bin/g-ir-scanner --add-include-path=. --warn-all --namespace=Emerillon --nsversion=0.1 --libtool="/bin/sh ../libtool" --include=GObject-2.0 --include=Gtk-3.0 --include=Champlain-0.10 --program=emerillon -DEMERILLON_COMPILATION -I.. preferences.c window.c sidebar.c emerillon.h window.h sidebar.h emerillon --output Emerillon-0.1.gir Unknown option --introspect-dump=/tmp/tmp-introspectMRTcnl/types.txt,/tmp/tmp-introspectMRTcnl/dump.xml Run 'emerillon --help' to see a list of available command line options. Command '['emerillon', '--introspect-dump=/tmp/tmp-introspectMRTcnl/types.txt,/tmp/tmp-introspectMRTcnl/dump.xml']' returned non-zero exit status 1 make[4]: *** [Emerillon-0.1.gir] Error 1 The gobject-introspection version is gobject-introspection-1.29.16-1.fc16.x86_64
@Peter did you pull the last changes in the gtk3 this morning? this should be fixed
(In reply to comment #30) > @Peter did you pull the last changes in the gtk3 this morning? this should be > fixed Yes. Last commit is: commit ed16819be3c56c68685ac53c3795bbf8b759c910 Author: Simon Wenner <simon@wenner.ch> Date: Wed Aug 10 23:05:50 2011 +0200 cleanup gir generation https://bugzilla.gnome.org/show_bug.cgi?id=649403
*** Bug 642786 has been marked as a duplicate of this bug. ***
apart from the GIR issue I mentioned above this runs perfectly on Fedora 15.
Created attachment 193618 [details] [review] Fix GIR generation
(In reply to comment #34) > Created an attachment (id=193618) [details] [review] > Fix GIR generation Works for me! /me feels a 0.2.0 coming on :)
any plan of doing this release?
For the record, I emailed deejay1 a couple of weeks ago and got this reply but then nothing happened.... Date: Thu, 18 Aug 2011 15:43:47 +0200 From: Łukasz Jernaś <deejay1@srem.org> To: Andreas Henriksson <andreas@fatal.se> Subject: Re: emerillon gtk3 port On Thu, Aug 18, 2011 at 2:52 PM, Andreas Henriksson <andreas@fatal.se> wrote: > Hello Łukasz Jernaś ! Hi Andreas! > As you're probably aware of, the work on porting emerillon to gtk3 (and > champlain-0.10 and libpeas) has been going on in > https://bugzilla.gnome.org/show_bug.cgi?id=649403 and is now > finished as far as I'm concerned. > > Do you have any time to review/merge the branch and do a release? > > Would be great to hear from you soon to know what your current status is... I'll take a look at it this evening.