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 102298 - Build fails against gtk+-2.2
Build fails against gtk+-2.2
Status: RESOLVED WONTFIX
Product: gtkmm
Classification: Bindings
Component: build
2.0
Other Linux
: Normal normal
: ---
Assigned To: gtkmm-forge
gtkmm-forge
Depends on:
Blocks:
 
 
Reported: 2003-01-01 08:30 UTC by Thomas Helvey
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Thomas Helvey 2003-01-01 08:30:18 UTC
gtkmm doesn't build against gtk+-2.2.0, the build fails with the following
error:
treeview.cc: In static member function `static void 
   Gtk::TreeView_Class::class_init_function(void*, void*)':
treeview.cc:891: invalid conversion from `void (*)(GtkTreeView*)' to
`gboolean (*)(GtkTreeView*)'

Here is a patch to make it build.
Thanks.

<patch>
diff -rc gtkmm-2.0.2/gtk/src/gtk_signals.defs
gtkmm-2.0.2.patched/gtk/src/gtk_signals.defs
*** gtkmm-2.0.2/gtk/src/gtk_signals.defs	Mon Apr 15 14:30:41 2002
--- gtkmm-2.0.2.patched/gtk/src/gtk_signals.defs	Wed Jan  1 00:17:21 2003
***************
*** 15851,15869 ****
  
  (define-signal select-all
    (of-object "GtkTreeView")
!   (return-type "void")
    (when "last")
  )
  
  (define-signal unselect-all
    (of-object "GtkTreeView")
!   (return-type "void")
    (when "last")
  )
  
  (define-signal select-cursor-row
    (of-object "GtkTreeView")
!   (return-type "void")
    (when "last")
    (parameters
      '("gboolean" "p0")
--- 15851,15869 ----
  
  (define-signal select-all
    (of-object "GtkTreeView")
!   (return-type "gboolean")
    (when "last")
  )
  
  (define-signal unselect-all
    (of-object "GtkTreeView")
!   (return-type "gboolean")
    (when "last")
  )
  
  (define-signal select-cursor-row
    (of-object "GtkTreeView")
!   (return-type "gboolean")
    (when "last")
    (parameters
      '("gboolean" "p0")
***************
*** 15872,15884 ****
  
  (define-signal toggle-cursor-row
    (of-object "GtkTreeView")
!   (return-type "void")
    (when "last")
  )
  
  (define-signal expand-collapse-cursor-row
    (of-object "GtkTreeView")
!   (return-type "void")
    (when "last")
    (parameters
      '("gboolean" "p0")
--- 15872,15884 ----
  
  (define-signal toggle-cursor-row
    (of-object "GtkTreeView")
!   (return-type "gboolean")
    (when "last")
  )
  
  (define-signal expand-collapse-cursor-row
    (of-object "GtkTreeView")
!   (return-type "gboolean")
    (when "last")
    (parameters
      '("gboolean" "p0")
***************
*** 15889,15901 ****
  
  (define-signal select-cursor-parent
    (of-object "GtkTreeView")
!   (return-type "void")
    (when "last")
  )
  
  (define-signal start-interactive-search
    (of-object "GtkTreeView")
!   (return-type "void")
    (when "last")
  )
  
--- 15889,15901 ----
  
  (define-signal select-cursor-parent
    (of-object "GtkTreeView")
!   (return-type "gboolean")
    (when "last")
  )
  
  (define-signal start-interactive-search
    (of-object "GtkTreeView")
!   (return-type "gboolean")
    (when "last")
  )
  
diff -rc gtkmm-2.0.2/gtk/src/treeview.hg
gtkmm-2.0.2.patched/gtk/src/treeview.hg
*** gtkmm-2.0.2/gtk/src/treeview.hg	Sat Nov 30 09:02:08 2002
--- gtkmm-2.0.2.patched/gtk/src/treeview.hg	Wed Jan  1 00:17:47 2003
***************
*** 332,344 ****
    _WRAP_SIGNAL(void columns_changed(), "columns-changed")
  
    _WRAP_SIGNAL(bool move_cursor(MovementStep step, int count), "move-cursor")
!   _WRAP_SIGNAL(void select_all(), "select-all")
!   _WRAP_SIGNAL(void unselect_all(), "unselect-all")
!   _WRAP_SIGNAL(void select_cursor_row(bool start_editing),
"select-cursor-row")
!   _WRAP_SIGNAL(void toggle_cursor_row(), "toggle-cursor-row")
!   _WRAP_SIGNAL(void expand_collapse_cursor_row(bool logical, bool expand,
bool open_all), "expand-collapse-cursor-row")
!   _WRAP_SIGNAL(void select_cursor_parent(), "select-cursor-parent")
!   _WRAP_SIGNAL(void start_interactive_search(), "start-interactive-search")
  
  
    _WRAP_PROPERTY("model", Glib::RefPtr<TreeModel>)
--- 332,344 ----
    _WRAP_SIGNAL(void columns_changed(), "columns-changed")
  
    _WRAP_SIGNAL(bool move_cursor(MovementStep step, int count), "move-cursor")
!   _WRAP_SIGNAL(bool select_all(), "select-all")
!   _WRAP_SIGNAL(bool unselect_all(), "unselect-all")
!   _WRAP_SIGNAL(bool select_cursor_row(bool start_editing),
"select-cursor-row")
!   _WRAP_SIGNAL(bool toggle_cursor_row(), "toggle-cursor-row")
!   _WRAP_SIGNAL(bool expand_collapse_cursor_row(bool logical, bool expand,
bool open_all), "expand-collapse-cursor-row")
!   _WRAP_SIGNAL(bool select_cursor_parent(), "select-cursor-parent")
!   _WRAP_SIGNAL(bool start_interactive_search(), "start-interactive-search")
  
  
    _WRAP_PROPERTY("model", Glib::RefPtr<TreeModel>)
Comment 1 Daniel Elstner 2003-01-01 09:41:17 UTC
I'm sorry, an API/ABI change like this won't go into gtkmm-2.0 --
apart from the problem that it breaks the build with GTK+ 2.0.

As stated in the gtkmm-2.1.2 announcement, this is a known problem, 
only the combinations GTK+ 2.0/gtkmm 2.0 and GTK+ 2.2/gtkmm 2.1 work.
 Thus I recommend to get the latest gtkmm 2.1 -- it's API/ABI stable
as well, and gtkmm 2.2 is soon to be released.
Comment 2 Daniel Elstner 2003-01-01 09:50:42 UTC
P.S.: gtkmm 2.1.3 will be released today, so you can save some
download and build time if you wait a few hours :)