Status of the GTK+ 3 port : =========================== $Id$ Take a look at the "Migrating from GTK+ 2.x to GTK+ 3" document at: http://developer.gnome.org/gtk3/stable/gtk-migrating-2-to-3.html There are two ways to make the Wireshark code gtk3 ready: 1) CMake and configure options to build with gtk3 instead of gtk2: cmake: ENABLE_GTK3=ON configure: --with-gtk3 This will currently break the build and not gain much until the last problem has been fixed. It will also require everyone interested in working on this to have gtk3 installed. 2) The compat flags: -DGTK_DISABLE_SINGLE_INCLUDES [works and is enabled] -DGSEAL_ENABLE [works and is enabled] -DGDK_DISABLE_DEPRECATED [not yet enabled, see below] -DGTK_DISABLE_DEPRECATED [works if building with UI_MANAGER code, see below] Gtk2 offers several compile time flags, so if you run a sufficiently new version of gtk2 and turn on one or more of these flags, you can find many things that are not gtk3 compatible yet. This is a subset of what breaks when compiling with Gtk3/Gdk3. With Gdk3, (at least) the following structs used in Wireshark are gone: - GdkColormap - GdkDrawable - GdkPixmap Also, the following macros are gone: - GDK_DRAWABLE -> sanity check + cast, can be removed - GDK_IS_DRAWABLE -> probably: sanity check, can be removed - GTK_OBJECT -> sanity check + cast, can probably be removed Some statistics (as of rev 38283) -DGDK_DISABLE_DEPRECATED grep error: make.log| grep -v assignment | cut -d: -f5 | sort | uniq -c 2 implicit declaration of function ‘gdk_draw_arc’ 1 implicit declaration of function ‘gdk_draw_drawable’ 9 implicit declaration of function ‘gdk_draw_layout’ 5 implicit declaration of function ‘gdk_draw_line’ 1 implicit declaration of function ‘gdk_draw_pixbuf’ 3 implicit declaration of function ‘gdk_draw_pixmap’ 1 implicit declaration of function ‘gdk_draw_polygon’ 4 implicit declaration of function ‘gdk_draw_rectangle’ 5 implicit declaration of function ‘gdk_gc_new’ 1 implicit declaration of function ‘gdk_gc_set_fill’ 2 implicit declaration of function ‘gdk_gc_set_foreground’ 1 implicit declaration of function ‘gdk_gc_set_function’ 1 implicit declaration of function ‘gdk_gc_set_line_attributes’ 3 implicit declaration of function ‘gdk_gc_set_rgb_fg_color’ 1 implicit declaration of function ‘gdk_gc_set_tile’ 1 implicit declaration of function ‘gdk_gc_set_ts_origin’ 1 implicit declaration of function ‘gdk_pixmap_create_from_xpm_d’ -DGTK_DISABLE_DEPRECATED Will work if and only if building with UI_MANAGER enabled: autofoo: configure ... --enable-uimanager ... cmake: cmake ... -DUI_MANAGER=ON ... Right now this looses the proto_help functionality and quite some additional stuff (mostly? statistics).