After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 649403 - Support gtk3
Support gtk3
Status: RESOLVED FIXED
Product: emerillon
Classification: Other
Component: General
git master
Other Linux
: Normal normal
: ---
Assigned To: emerillon-maint
emerillon-maint
: 642786 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2011-05-04 18:48 UTC by Peter Robinson
Modified: 2011-08-31 11:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
GTK-3 plus libchamplain 0.10 (12.04 KB, patch)
2011-05-04 18:48 UTC, Peter Robinson
committed Details | Review
Do not use deprecated GtkVBox and GtkHBox (5.58 KB, patch)
2011-08-06 21:43 UTC, Laurent Bigonville
committed Details | Review
Use gtk3 Requires in emerillon.pc (756 bytes, patch)
2011-08-10 17:00 UTC, Laurent Bigonville
committed Details | Review
Drop gconf requirement (1.14 KB, patch)
2011-08-10 17:01 UTC, Laurent Bigonville
committed Details | Review
GIR generation bugfix (2.64 KB, patch)
2011-08-10 18:44 UTC, Simon Wenner
none Details | Review
Add cogl, clutter and gtk_clutter options groups (1.35 KB, patch)
2011-08-10 20:28 UTC, Laurent Bigonville
committed Details | Review
gdk_disable_multidevice() before initializing all the stuff (734 bytes, patch)
2011-08-10 20:29 UTC, Laurent Bigonville
committed Details | Review
Free option group context (607 bytes, patch)
2011-08-10 20:30 UTC, Laurent Bigonville
committed Details | Review
improved gir generation (2.63 KB, patch)
2011-08-10 21:10 UTC, Simon Wenner
committed Details | Review
Fix GIR generation (990 bytes, patch)
2011-08-11 10:33 UTC, Laurent Bigonville
committed Details | Review

Description Peter Robinson 2011-05-04 18:48:14 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.
Comment 1 Johannes Schmid 2011-06-25 12:40:03 UTC
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
Comment 2 Peter Robinson 2011-06-25 13:48:24 UTC
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)
Comment 3 Johannes Schmid 2011-06-25 15:54:36 UTC
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.
Comment 4 Łukasz Jernaś 2011-07-01 17:59:13 UTC
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!
Comment 5 Laurent Bigonville 2011-07-27 20:57:31 UTC
Hi,

Any update about this? Could be great if we can get GTK3 support

Thanks!
Comment 6 Johannes Schmid 2011-07-28 13:23:35 UTC
I won't have time to continue to work on it but they rest (using the gtk3 branch) should be really straightforward...
Comment 7 Peter Robinson 2011-07-28 14:39:21 UTC
(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?
Comment 8 Andreas Henriksson 2011-08-04 23:07:32 UTC
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?
Comment 9 Johannes Schmid 2011-08-05 01:20:54 UTC
Push it!

It's an experimental branch.
Comment 10 Laurent Bigonville 2011-08-06 20:51:55 UTC
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
Comment 11 Laurent Bigonville 2011-08-06 21:43:23 UTC
Created attachment 193359 [details] [review]
Do not use deprecated GtkVBox and GtkHBox
Comment 12 Andreas Henriksson 2011-08-06 21:54:44 UTC
Comment on attachment 193359 [details] [review]
Do not use deprecated GtkVBox and GtkHBox

committed the vala bindings part... the rest was already fixed.
Comment 13 Andreas Henriksson 2011-08-09 15:59:34 UTC
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.
Comment 14 Andreas Henriksson 2011-08-09 17:38:35 UTC
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!
Comment 15 Peter Robinson 2011-08-09 19:04:02 UTC
I have issues with autogen.sh on fedora 16
Comment 16 Laurent Bigonville 2011-08-10 17:00:40 UTC
Created attachment 193571 [details] [review]
Use gtk3 Requires in emerillon.pc
Comment 17 Laurent Bigonville 2011-08-10 17:01:22 UTC
Created attachment 193572 [details] [review]
Drop gconf requirement

gconf doesn't seem required anymore
Comment 18 Laurent Bigonville 2011-08-10 17:26:19 UTC
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
Comment 19 Simon Wenner 2011-08-10 18:44:03 UTC
Created attachment 193587 [details] [review]
GIR generation bugfix

fixed.
Comment 20 Simon Wenner 2011-08-10 20:01:39 UTC
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
Comment 21 Laurent Bigonville 2011-08-10 20:28:21 UTC
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
Comment 22 Laurent Bigonville 2011-08-10 20:29:07 UTC
Created attachment 193594 [details] [review]
gdk_disable_multidevice() before initializing all the stuff
Comment 23 Laurent Bigonville 2011-08-10 20:30:07 UTC
Created attachment 193595 [details] [review]
Free option group context
Comment 24 Laurent Bigonville 2011-08-10 20:46:51 UTC
Review of attachment 193587 [details] [review]:

Hi, thanks for your patch.

Are these changes actually needed? I've no problem with gir file generation
Comment 25 Simon Wenner 2011-08-10 20:52:39 UTC
(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.
Comment 26 Laurent Bigonville 2011-08-10 20:59:49 UTC
ok, but in the patch you have provided, there are still references to gedit:)
Comment 27 Simon Wenner 2011-08-10 21:10:07 UTC
Created attachment 193601 [details] [review]
improved gir generation

Oops... shame on me! :) Fixed it.
Comment 28 Andreas Henriksson 2011-08-11 08:56:30 UTC
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! =)
Comment 29 Peter Robinson 2011-08-11 09:22:53 UTC
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
Comment 30 Laurent Bigonville 2011-08-11 09:40:24 UTC
@Peter did you pull the last changes in the gtk3 this morning? this should be fixed
Comment 31 Peter Robinson 2011-08-11 09:42:21 UTC
(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
Comment 32 Andreas Henriksson 2011-08-11 09:56:48 UTC
*** Bug 642786 has been marked as a duplicate of this bug. ***
Comment 33 Peter Robinson 2011-08-11 10:19:47 UTC
apart from the GIR issue I mentioned above this runs perfectly on Fedora 15.
Comment 34 Laurent Bigonville 2011-08-11 10:33:23 UTC
Created attachment 193618 [details] [review]
Fix GIR generation
Comment 35 Peter Robinson 2011-08-11 10:41:37 UTC
(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 :)
Comment 36 Laurent Bigonville 2011-08-31 10:59:41 UTC
any plan of doing this release?
Comment 37 Andreas Henriksson 2011-08-31 11:52:11 UTC
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.