[gtk+] printing: Don't double free connection to CUPS



commit 083f834dd742c53f47864d7c181c868426f57bc0
Author: Marek Kasik <mkasik redhat com>
Date:   Thu Dec 12 18:11:39 2013 +0100

    printing: Don't double free connection to CUPS
    
    Don't call httpClose() on http connections which are created
    outside of GtkCupsRequest in GtkCupsRequest's functions.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=720338

 modules/printbackends/cups/gtkcupsutils.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)
---
diff --git a/modules/printbackends/cups/gtkcupsutils.c b/modules/printbackends/cups/gtkcupsutils.c
index f0bb951..da3436e 100644
--- a/modules/printbackends/cups/gtkcupsutils.c
+++ b/modules/printbackends/cups/gtkcupsutils.c
@@ -1130,13 +1130,14 @@ _post_check (GtkCupsRequest *request)
         }
 
       request->poll_state = GTK_CUPS_HTTP_IDLE;
-       
-      httpFlush (request->http); 
-      
       request->last_status = HTTP_CONTINUE;
-      httpClose (request->http);
+
+      httpFlush (request->http);
+      if (request->own_http)
+        httpClose (request->http);
       request->http = NULL;
-      return;  
+
+      return;
     }
   else
     {
@@ -1398,12 +1399,14 @@ _get_check (GtkCupsRequest *request)
         }
 
       request->poll_state = GTK_CUPS_HTTP_IDLE;
-      httpFlush (request->http);
-      httpClose (request->http);
       request->last_status = HTTP_CONTINUE;
+
+      httpFlush (request->http);
+      if (request->own_http)
+        httpClose (request->http);
       request->http = NULL;
-      return;
 
+      return;
     }
   else
     {


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