[gtkmm] Make build successful when exceptions, vfuncs, etc. are disabled.
- From: José Alburquerque <jaalburqu src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtkmm] Make build successful when exceptions, vfuncs, etc. are disabled.
- Date: Fri, 4 Dec 2009 05:52:26 +0000 (UTC)
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]