[gtkmm/gtkmm-2-14] Fix the build without exceptions.



commit 9a50725574a543776a1dc728b0f7ed169df67759
Author: Murray Cumming <murrayc murrayc com>
Date:   Mon Jun 22 12:06:42 2009 +0200

    Fix the build without exceptions.
    
    * gtk/src/builder.ccg:
    * gtk/src/builder.hg: create_from_string(): Added ifdefed versions for when
    --disable-api-exceptions was used with glibmm.
    
    * configure.in: Reduce the pangomm requirement to pangomm 2.12 because we
    do not really need pangomm 2.14 to build.

 ChangeLog           |   11 ++++++++++
 configure.in        |    2 +-
 gtk/src/builder.ccg |   53 +++++++++++++++++++++++++++++++++++++++++---------
 gtk/src/builder.hg  |   16 +++++++++++++-
 4 files changed, 69 insertions(+), 13 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 44219cc..2ec4da0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2009-06-22  Murray Cumming  <murrayc murrayc com>
+
+	Fix the build without exceptions.
+	
+	* gtk/src/builder.ccg:
+	* gtk/src/builder.hg: create_from_string(): Added ifdefed versions for when 
+	--disable-api-exceptions was used with glibmm.
+
+	* configure.in: Reduce the pangomm requirement to pangomm 2.12 because we 
+	do not really need pangomm 2.14 to build.
+	
 2009-03-23  Daniel Elstner  <danielk openismus com>
 
 	* gtk/src/builder.{ccg,hg}: Conditionalize all exception handling
diff --git a/configure.in b/configure.in
index 5034007..62dca45 100644
--- a/configure.in
+++ b/configure.in
@@ -202,7 +202,7 @@ gtkmm_min_glibmm_version=2.18.0
 gtkmm_min_giomm_version=2.18.0
 gtkmm_min_gtk_version=2.14.0
 gtkmm_min_cairomm_version=1.2.2
-gtkmm_min_pangomm_version=2.14.0
+gtkmm_min_pangomm_version=2.12.0
 
 
 GLIBMM_LIBDIR=`pkg-config --variable=libdir glibmm-2.4`
diff --git a/gtk/src/builder.ccg b/gtk/src/builder.ccg
index 3eeb5cd..616aef5 100644
--- a/gtk/src/builder.ccg
+++ b/gtk/src/builder.ccg
@@ -108,20 +108,19 @@ Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer)
   else
     return Glib::RefPtr<Builder>();
 }
-#else
-Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer,
-                                                  std::auto_ptr<Glib::Error>& error)
+
+//static
+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, error))
+  if(builder->add_from_string(buffer, object_id))
     return builder;
   else
     return Glib::RefPtr<Builder>();
 }
-#endif /* !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 Glib::ustring& object_id)
 {
   Glib::RefPtr<Builder> builder = Builder::create();
   if(builder->add_from_string(buffer, object_id))
@@ -131,25 +130,59 @@ Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer, c
 }
 
 //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::StringArrayHandle& object_ids)
 {
   Glib::RefPtr<Builder> builder = Builder::create();
-  if(builder->add_from_string(buffer, object_id))
+  if(builder->add_from_string(buffer, object_ids))
+    return builder;
+  else
+    return Glib::RefPtr<Builder>();
+}
+
+#else //GLIBMM_EXCEPTIONS_ENABLED
+
+Glib::RefPtr<Builder> Builder::create_from_string(const Glib::ustring& buffer, std::auto_ptr<Glib::Error>& error)
+{
+  Glib::RefPtr<Builder> builder = Builder::create();
+  if(builder->add_from_string(buffer, error))
     return builder;
   else
     return Glib::RefPtr<Builder>();
 }
 
 //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 char* object_id, std::auto_ptr<Glib::Error>& error)
 {
   Glib::RefPtr<Builder> builder = Builder::create();
-  if(builder->add_from_string(buffer, object_ids))
+  if(builder->add_from_string(buffer, object_id, error))
     return builder;
   else
     return Glib::RefPtr<Builder>();
 }
 
+//static
+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>();
+}
+
+//static
+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)
 #else
diff --git a/gtk/src/builder.hg b/gtk/src/builder.hg
index d1691f1..ac3abd9 100644
--- a/gtk/src/builder.hg
+++ b/gtk/src/builder.hg
@@ -129,9 +129,9 @@ public:
 #ifdef GLIBMM_EXCEPTIONS_ENABLED
   static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer);
 #else
-  static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer,
-                                                  std::auto_ptr<Glib::Error>& error);
+  static Glib::RefPtr<Builder> create_from_string(const Glib::ustring& buffer, std::auto_ptr<Glib::Error>& error);
 #endif
+
   //This is just to avoid the ambiguous call when using a string literal, 
   //caused by the overload that takes a StringArrayHandle.
   /** Parses a string containing a GtkBuilder UI definition building only the requested object.
@@ -143,7 +143,11 @@ public:
    *
    * @newin2p16
    */
+#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
 
   /** Parses a string containing a GtkBuilder UI definition building only the requested object.
    *
@@ -154,7 +158,11 @@ public:
    *
    * @newin2p14
    */
+#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
 
   /** Parses a string containing a GtkBuilder UI definition building only the requested objects.
    *
@@ -169,7 +177,11 @@ public:
    *
    * @newin2p14
    */
+#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
   _IGNORE(gtk_builder_add_objects_from_file)
 
   _WRAP_METHOD(bool add_from_file(const std::string& filename), gtk_builder_add_from_file, errthrow)



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