Do not include individual GTK+ headers

Bug #792263 reported by Alex Valavanis
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
High
Alex Valavanis

Bug Description

GTK+ 3 will not permit individual GTK+ headers to be included.[1] Instead, we should only use:
* gtk/gtk.h for GTK
* gtk/gtkunixprint.h for low-level, UNIX-specific printing functions
* gdk/gdk.h for GDK
* gdk/gdkx.h for GDK functions that are X11-specific
* gdk/gdkwin32.h for GDK functions that are Windows-specific

I attach a list of all the inclusions of individual g[td]k/.*h files.

[1] http://developer.gnome.org/gtk3/stable/gtk-migrating-2-to-3.html#id1391340

Tags: build

Related branches

Revision history for this message
Alex Valavanis (valavanisalex) wrote :
Revision history for this message
Alex Valavanis (valavanisalex) wrote :

We can test for the presence of individual headers during build using

CFLAGS+="-DGTK_DISABLE_SINGLE_INCLUDES"

su_v (suv-lp)
tags: added: build
Revision history for this message
Alex Valavanis (valavanisalex) wrote :

and of course also:

CXXFLAGS+="-DGTK_DISABLE_SINGLE_INCLUDES"

Revision history for this message
su_v (suv-lp) wrote :

Would the changes in merge proposal also address these (AFAIU likely) related reports (build failure on some platforms due to gtk/gdk includes)?
Bug #747512 in Inkscape: “Build failure in widgets/sp-color-wheel-selector.cpp”
Bug #709847 in Inkscape: “build failed on svg-view.cpp”

Revision history for this message
Alex Valavanis (valavanisalex) wrote :

Yes, I believe this should fix bug #747512 and bug #709847 and possibly anything else that involves missing GTK/GDK declarations.

Changed in inkscape:
status: New → In Progress
importance: Undecided → High
assignee: nobody → Alex Valavanis (valavanisalex)
Changed in inkscape:
milestone: 0.49 → 0.48.2
Changed in inkscape:
status: In Progress → Fix Committed
Revision history for this message
su_v (suv-lp) wrote :

inkscape trunk: r10255
inkscape 0.48.x: r9783

Ted Gould (ted)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.