[gtkmm] Make build successful when exceptions, vfuncs, etc. are disabled.



commit f040fa1ebeed52c0d7eb56d6027daa788d89db78
Author: José Alburquerque <jaalburqu svn gnome org>
Date:   Fri Dec 4 00:38:47 2009 -0500

    	Make build successful when exceptions, vfuncs, etc. are disabled.
    
    	* gtk/src/builder.hg:
    	* gtk/src/builder.ccg: Included definitions and code for Glib::Error
    	methods for when exceptions are disabled.
    	(get_type_from_name_vfunc_callback): Wrap around #ifdefs for when
    	vfuncs are not enabled.
    	* gtk/src/menushell.ccg:
    	* gtk/src/menushell.hg: Removed unneeded #endif and #ifdefs.
    	(MenuShell_Class::insert_vfunc_callback):  Wrap around #ifdefs for
    	when vfuncs are not enabled.

 ChangeLog             |   14 +++++++++++++
 gtk/src/builder.ccg   |   52 +++++++++++++++++++++++++++++++++++++++++++++---
 gtk/src/builder.hg    |   27 ++++++++++++++++++++++--
 gtk/src/menushell.ccg |    2 +
 gtk/src/menushell.hg  |    2 -
 5 files changed, 88 insertions(+), 9 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 7457537..813c1a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2009-12-03  José Alburquerque  <jaalburqu svn gnome org>
+
+	Make build successful when exceptions, vfuncs, etc. are disabled.
+
+	* gtk/src/builder.hg:
+	* gtk/src/builder.ccg: Included definitions and code for Glib::Error
+	methods for when exceptions are disabled.
+	(get_type_from_name_vfunc_callback): Wrap around #ifdefs for when
+	vfuncs are not enabled.
+	* gtk/src/menushell.ccg:
+	* gtk/src/menushell.hg: Removed unneeded #endif and #ifdefs.
+	(MenuShell_Class::insert_vfunc_callback):  Wrap around #ifdefs for
+	when vfuncs are not enabled.
+
 2009-12-03  Murray Cumming  <murrayc murrayc com>
 
 	Gdk::Window: Add get/set_offscreen_embedder() and get_offscreen_pixmap().
diff --git a/gtk/src/builder.ccg b/gtk/src/builder.ccg
index 89817e8..c6fa24b 100644
--- a/gtk/src/builder.ccg
+++ b/gtk/src/builder.ccg
@@ -20,6 +20,7 @@
 
 #include <gtk/gtk.h>
 
+#ifdef GLIBMM_VFUNCS_ENABLED
 // Allow GtkBuilder to instantiate a gtkmm derived GType instead of the regular 
 // GTK+ GType, so we can, for instance, use our vfuncs and default signal handlers.
 static GType
@@ -42,6 +43,7 @@ get_type_from_name_vfunc_callback(GtkBuilder*, const char* type_name)
 
   return gtype;
 }
+#endif /* !GLIBMM_VFUNCS_ENABLED */
 
 namespace Gtk
 {
@@ -79,7 +81,7 @@ Glib::RefPtr<Builder> Builder::create_from_file(const std::string& filename, con
     return Glib::RefPtr<Builder>();
 }
 #else
-Glib::RefPtr<Builder> Builder::create_from_file(const std::string& filename, const char* object_id, std::auto_ptr<Glib::Error> error)
+Glib::RefPtr<Builder> Builder::create_from_file(const std::string& filename, const char* object_id, std::auto_ptr<Glib::Error>& error)
 {
   Glib::RefPtr<Builder> builder = Builder::create();
   if(builder->add_from_file(filename, object_id, error))
@@ -153,8 +155,10 @@ Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer,
 }
 #endif /* !GLIBMM_EXCEPTIONS_ENABLED */
 
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
 //static
-Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer, const char* object_id)
+Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer,
+																									const char* object_id)
 {
   Glib::RefPtr<Builder> builder = Builder::create();
   if(builder->add_from_string(buffer, object_id))
@@ -162,9 +166,23 @@ Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer, c
   else
     return Glib::RefPtr<Builder>();
 }
+#else
+Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer,
+																									const char* object_id,
+																									std::auto_ptr<Glib::Error>& error)
+{
+  Glib::RefPtr<Builder> builder = Builder::create();
+  if(builder->add_from_string(buffer, object_id, error))
+    return builder;
+  else
+    return Glib::RefPtr<Builder>();
+}
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
 
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
 //static
-Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer, const Glib::ustring& object_id)
+Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer,
+																									const Glib::ustring& object_id)
 {
   Glib::RefPtr<Builder> builder = Builder::create();
   if(builder->add_from_string(buffer, object_id))
@@ -172,9 +190,23 @@ Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer, c
   else
     return Glib::RefPtr<Builder>();
 }
+#else
+Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer,
+																									const Glib::ustring& object_id,
+																									std::auto_ptr<Glib::Error>& error)
+{
+  Glib::RefPtr<Builder> builder = Builder::create();
+  if(builder->add_from_string(buffer, object_id, error))
+    return builder;
+  else
+    return Glib::RefPtr<Builder>();
+}
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
 
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
 //static
-Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer, const Glib::StringArrayHandle& object_ids)
+Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer,
+																									const Glib::StringArrayHandle& object_ids)
 {
   Glib::RefPtr<Builder> builder = Builder::create();
   if(builder->add_from_string(buffer, object_ids))
@@ -182,6 +214,18 @@ Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer, c
   else
     return Glib::RefPtr<Builder>();
 }
+#else
+Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer,
+																									const Glib::StringArrayHandle& object_ids,
+																									std::auto_ptr<Glib::Error>& error)
+{
+  Glib::RefPtr<Builder> builder = Builder::create();
+  if(builder->add_from_string(buffer, object_ids, error))
+    return builder;
+  else
+    return Glib::RefPtr<Builder>();
+}
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
 
 #ifdef GLIBMM_EXCEPTIONS_ENABLED
 bool Builder::add_from_file(const std::string& filename, const char* object_id)
diff --git a/gtk/src/builder.hg b/gtk/src/builder.hg
index 3762411..e170ffe 100644
--- a/gtk/src/builder.hg
+++ b/gtk/src/builder.hg
@@ -149,7 +149,14 @@ public:
    *
    * @newin{2,16}
    */
-  static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer, const char* object_id);
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+  static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer,
+																									const char* object_id);
+#else
+  static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer,
+																									const char* object_id,
+																									std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
 
   /** Parses a string containing a GtkBuilder UI definition building only the requested object.
    *
@@ -160,7 +167,14 @@ public:
    *
    * @newin{2,14}
    */
-  static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer, const Glib::ustring& object_id);
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+  static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer,
+																									const Glib::ustring& object_id);
+#else
+  static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer,
+																									const Glib::ustring& object_id,
+																									std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
 
   /** Parses a string containing a GtkBuilder UI definition building only the requested objects.
    *
@@ -175,7 +189,14 @@ public:
    *
    * @newin{2,14}
    */
-  static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer, const Glib::StringArrayHandle& object_ids);
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+  static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer,
+																									const Glib::StringArrayHandle& object_ids);
+#else
+  static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer,
+																									const Glib::StringArrayHandle& object_ids,
+																									std::auto_ptr<Glib::Error>& error);
+#endif /* !GLIBMM_EXCEPTIONS_ENABLED */
   _IGNORE(gtk_builder_add_objects_from_file)
 
   _WRAP_METHOD(bool add_from_file(const std::string& filename), gtk_builder_add_from_file, errthrow)
diff --git a/gtk/src/menushell.ccg b/gtk/src/menushell.ccg
index ca7cdee..1f993f9 100644
--- a/gtk/src/menushell.ccg
+++ b/gtk/src/menushell.ccg
@@ -82,6 +82,7 @@ const MenuShell::MenuList& MenuShell::items() const
   return items_proxy_;
 }
 
+#ifdef GLIBMM_VFUNCS_ENABLED
 void MenuShell_Class::insert_vfunc_callback(GtkMenuShell* self, GtkWidget* child, int position)
 {
   #ifdef GLIBMM_EXCEPTIONS_ENABLED
@@ -110,6 +111,7 @@ void MenuShell_Class::insert_vfunc_callback(GtkMenuShell* self, GtkWidget* child
   if(base && base->insert)
     (*base->insert)(self, child, position);
 }
+#endif /* !GLIBMM_VFUNCS_ENABLED */
 
 
 namespace Menu_Helpers
diff --git a/gtk/src/menushell.hg b/gtk/src/menushell.hg
index 15b0b1e..f7c8316 100644
--- a/gtk/src/menushell.hg
+++ b/gtk/src/menushell.hg
@@ -150,9 +150,7 @@ dnl // Override GtkMenuItem::insert, in order to accelerate all menu items autom
   _PUSH(SECTION_PCC_CLASS_INIT_VFUNCS)
     klass->insert = &insert_vfunc_callback;
   _SECTION(SECTION_PH_VFUNCS)
-#endif //GLIBMM_VFUNCS_ENABLED //We always need insert_vfunc_callback
     static void insert_vfunc_callback(GtkMenuShell* self, GtkWidget* child, int position);
-#ifdef GLIBMM_VFUNCS_ENABLED
   _POP()
 #m4end
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]