lsb

gtk3: gtk.h includes gtk-2.0 gdk.h

Bug #1329866 reported by Jeff Johnson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lsb
Fix Committed
Medium
Unassigned
Mandriva
Fix Released
Medium

Bug Description

Proper operation of the gtk-3.0 headers depends on not bringing in the
gtk-2.0 headers, because somewhere we'll get some kind of conflicts.
However, the 2.0 gdk.h header is included due to several types. Here's
the debug output from building gtk-3.0 gtk.h, which is the only header
which includes a gtk-2.0 header:

/* DEBUG: type=12741 (GdkAtom) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12912 (GdkGravity) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12856 (GdkWindowTypeHint) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12730 (GdkEventMask) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12709 (GdkModifierType) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12916 (GdkWindowHints) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12836 (GdkWindowEdge) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12912 (GdkGravity) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12806 (GdkDragAction) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12804 (GdkDragProtocol) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12730 (GdkEventMask) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12709 (GdkModifierType) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12741 (GdkAtom) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12856 (GdkWindowTypeHint) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12708 (anon-gtk-2.0/gdk/gdk.h-14) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12729 (anon-gtk-2.0/gdk/gdk.h-934) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12740 (_GdkAtom *) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12803 (anon-gtk-2.0/gdk/gdk.h-496) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12805 (anon-gtk-2.0/gdk/gdk.h-495) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12835 (anon-gtk-2.0/gdk/gdk.h-954) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12855 (anon-gtk-2.0/gdk/gdk.h-950) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12911 (anon-gtk-2.0/gdk/gdk.h-953) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12915 (anon-gtk-2.0/gdk/gdk.h-949) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12774 (GdkEventKey) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12772 (GdkEventScroll) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12793 (GdkEventOwnerChange) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12865 (GdkPoint *) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12864 (GdkPoint) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12769 (_GdkEventScroll) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12773 (_GdkEventKey) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12790 (_GdkEventOwnerChange) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12863 (_GdkPoint) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12748 (GdkEventType) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12674 (GdkWindow *) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12771 (GdkScrollDirection) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12713 (GdkDevice *) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12788 (GdkNativeWindow) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12792 (GdkOwnerChange) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12673 (GdkWindow) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12712 (GdkDevice) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12747 (anon-gtk-2.0/gdk/gdk.h-501) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12770 (anon-gtk-2.0/gdk/gdk.h-504) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12791 (anon-gtk-2.0/gdk/gdk.h-509) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12672 (_GdkDrawable) found in gtk-2.0/gdk/gdk.h */
/* DEBUG: type=12697 (_GdkDevice) found in gtk-2.0/gdk/gdk.h */

At the time of filing, the full list of these types have not been
investigated to see if they are indeed defined both places. However,
here's a spot check:

INSERT INTO `Type` VALUES
(12673,'GdkWindow','Typedef',626,'','No','No','No',NULL,'libgdk-x11-2.0',0);
INSERT INTO `Type` VALUES
(12712,'GdkDevice','Typedef',626,'','No','No','No',NULL,'libgdk-x11-2.0',0);
INSERT INTO `Type` VALUES
(12864,'GdkPoint','Typedef',626,'','No','No','No',NULL,'libgdk-x11-2.0',0);
INSERT INTO `Type` VALUES
(10004007,'GdkPoint','Typedef',1795,'','No','No','No',NULL,'libgdk-3',0);
INSERT INTO `Type` VALUES
(10004018,'GdkDevice','Typedef',1795,'','No','No','No',NULL,'libgdk-3',0);
INSERT INTO `Type` VALUES
(10004030,'GdkWindow','Typedef',1795,'','No','No','No',NULL,'libgdk-3',0);

which suggests that while new types have been defined, some definitions
within the library relating to this header have picked up the original
type definition.

Tags: spec
Changed in mandriva:
importance: Unknown → Medium
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

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