[gtkmm] Fix the build with GTK+ git master, in PrintJob.



commit 9c1a38fecf91ddf6577fbc8bbe69cf1c040908ee
Author: Murray Cumming <murrayc murrayc com>
Date:   Tue Jun 8 23:26:34 2010 +0200

    Fix the build with GTK+ git master, in PrintJob.
    
    * gtk/src/printjob.ccg: send(): The GError* parameter of the C callback
    function changed to a const GError*. Adapted.

 ChangeLog            |    7 +++++++
 gtk/src/printjob.ccg |    4 ++--
 gtk/src/printjob.hg  |    3 +--
 3 files changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 1a6d5d7..9ff7a8a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2010-06-08  Murray Cumming  <murrayc murrayc com>
 
+	Fix the build with GTK+ git master, in PrintJob.
+
+	* gtk/src/printjob.ccg: send(): The GError* parameter of the C callback 
+	function changed to a const GError*. Adapted.
+
+2010-06-08  Murray Cumming  <murrayc murrayc com>
+
 	Fix the build with GTK+ git master, in Gtk::Style.
 
 	* gtk/src/gtk_vfuncs.defs:
diff --git a/gtk/src/printjob.ccg b/gtk/src/printjob.ccg
index e244b1f..8967883 100644
--- a/gtk/src/printjob.ccg
+++ b/gtk/src/printjob.ccg
@@ -20,7 +20,7 @@
 
 // This Signal Proxy allows the C++ coder to specify a sigc::slot instead of a static function.
 
-static void SignalProxy_Custom_gtk_callback(GtkPrintJob* print_job, gpointer data, GError* gerror)
+static void SignalProxy_Custom_gtk_callback(GtkPrintJob* print_job, gpointer data, const GError* gerror)
 {
   const Gtk::PrintJob::SlotPrintJobComplete* the_slot = static_cast<Gtk::PrintJob::SlotPrintJobComplete*>(data);
 
@@ -30,7 +30,7 @@ static void SignalProxy_Custom_gtk_callback(GtkPrintJob* print_job, gpointer dat
     // Create a suitable C++ instance to pass to the C++ method;
     Glib::RefPtr<Gtk::PrintJob> job = Glib::wrap(print_job);
 
-    if (gerror) Glib::Error::throw_exception(gerror);
+    if (gerror) Glib::Error::throw_exception(const_cast<GError*>(gerror)); //TODO: Remove the case when this is fixed in glibmm.
     (*the_slot)(job);
 
   }
diff --git a/gtk/src/printjob.hg b/gtk/src/printjob.hg
index 82b2235..a550e9e 100644
--- a/gtk/src/printjob.hg
+++ b/gtk/src/printjob.hg
@@ -70,8 +70,6 @@ public:
   _WRAP_METHOD(void set_track_print_status(bool track_status = true), gtk_print_job_set_track_print_status)
   _WRAP_METHOD(bool get_track_print_status() const, gtk_print_job_get_track_print_status)
 
-  _IGNORE(gtk_print_job_send)
-
   /** For example, 
    * void on_print_job_complete(const Glib::RefPtr<PrintJob>& job);
    *
@@ -83,6 +81,7 @@ public:
    * @param slot A function to call when the job completes or an error occurs.
    */
   void send(const SlotPrintJobComplete& slot);
+  _IGNORE(gtk_print_job_send)
 
   _WRAP_SIGNAL(void status_changed(), "status_changed")
 



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