Menu

#35 Add option to build with gtkmm-3.0

open-later
5
2012-01-23
2012-01-23
galtgendo
No

Yes, that's a quite high order, most of all cause there's still no gtkglext for gtk3, so opengl parts need to be skipped (fortunately, dropping -DUSE_OPENGL and src/gtk/screnarea-opengl.cpp lets us delay the problem by dropping opengl for the time being).

In this patch I was aiming for minimal set of changes not breaking gtk2 build (though I haven't tested gtk2 afterwards, but api reference suggests it should be fine...at least with gtk+ 2.24).

I haven't included changes to CMakeLists.txt, as my own is bit out of sync with svn, it's mostly that no -DUSE_OPENGL thing and gtkmm-3.0 pkg-config check.

gvbam builds and seems to work, though it segfaults upon exit. Can't really tell the reason of the segfault.

Changes in ui files are just to silence runtime warnings (that property defaults to 'false' in any recent gtk2 version anyway).
On that note: there's no reason why those files shouldn't have svn:eol-style set.

Discussion

  • Squall Leonhart

    Squall Leonhart - 2012-01-23

    moving to patches, changing category to source and grouping as wont add

    try again when gtk3 is actually ready for usage.

     
  • Squall Leonhart

    Squall Leonhart - 2012-01-23
    • labels: --> Source/Compile
    • milestone: --> 1247154
     
  • Squall Leonhart

    Squall Leonhart - 2012-01-23
    • milestone: 1247154 -->
    • assigned_to: nobody --> bgk
    • status: open --> open-later
     
  • Squall Leonhart

    Squall Leonhart - 2012-01-23

    assigning to bgk so he knows about it, removing group and setting resolution to later.

    gtk3 is not ready for usage.

     
  • galtgendo

    galtgendo - 2012-01-23
    • summary: Ad option to build with gtkmm-3.0 --> Add option to build with gtkmm-3.0
     
  • galtgendo

    galtgendo - 2012-01-23

    :roll:..and what does exactly "gtk3 is not ready for usage" mean ?
    Is that again (as I heard in a different project) the whining about gtk2/gtk3 twinned themes not writing themselves ?

    As I said, beside gtkglext not being rewritten for gtk3 (as it's been effectively dead for a few years already), there are no significant showstopers for a semi-working port.

     
  • Bastien Bouclet

    Bastien Bouclet - 2012-01-24

    GTK3 is obviously ready, just maybe not yet for our use. GtkGlExt is being ported to GTK3, see it for yourself : https://github.com/tdz/gtkglext. Actually, I was waiting for it to release before porting VBA-M to GTK3. I owe you much thanks for doing it!

    Your patch is definitely going to be merged, just maybe not immediately. Cause I still have to setup a GTK3 build environment.
    Could you add the changes you made to the CMake scripts to the patch, if you still have them around?

     
  • Squall Leonhart

    Squall Leonhart - 2012-01-24

    "Your patch is definitely going to be merged, just maybe not immediately."

    not while it still causes a crash.

     
  • galtgendo

    galtgendo - 2012-01-24

    minor correction of the old patch

     
  • galtgendo

    galtgendo - 2012-01-24

    I'm more and more surprised of how broken sourceforge tracker is - seems it doesn't allow adding a comment and updating an attachment in one go.

    No will to type it all once more, so just keypoints:
    - my changes doesn't look like they should affect anything outside constructors (other than m_poEmptyCursor, that is) and constructor/destructor mess on top of usual gtk+ signals is bit too much for me to debug
    - my CMakeLists.txt is bit too hackish (due to me playing with openal backend), but as gtk2/gtk3 are mutually exclusive (unless you see a point of building both), atm an added
    option( ENABLE_GTK3 "Build the GTK+ 3 GUI" ON )
    combined with dropping gtkglextmm-x11 check and -DUSE_OPENGL (upon ENABLE_GTK3 on) and changing there gdkmm-2.4/gtkmm-2.4 to gdkmm-3.0/gtkmm-3.0 sufficed.