]> Pileus Git - ~andy/gtk/commitdiff
Save current input request
authorAlexander Larsson <alexl@redhat.com>
Thu, 25 Nov 2010 12:03:52 +0000 (13:03 +0100)
committerAlexander Larsson <alexl@redhat.com>
Thu, 25 Nov 2010 21:09:33 +0000 (22:09 +0100)
gdk/broadway/gdkdisplay-broadway.c
gdk/broadway/gdkdisplay-broadway.h

index e752b6a4f5bed1ca63913e0d76ce33de9a75052c..0edda8da47c5d336d94bdc7807bcdc305a8e0152 100644 (file)
@@ -123,12 +123,12 @@ _gdk_input_init (GdkDisplay *display)
   g_list_free (list);
 }
 
-typedef struct {
+struct HttpRequest {
   GdkDisplay *display;
   GSocketConnection *connection;
   GDataInputStream *data;
   GString *request;
-} HttpRequest;
+};
 
 static void
 http_request_free (HttpRequest *request)
@@ -211,6 +211,9 @@ start_input (HttpRequest *request)
   gsize len;
   GChecksum *checksum;
   char *origin, *host;
+  GdkDisplayBroadway *display_broadway;
+
+  display_broadway = GDK_DISPLAY_BROADWAY (request->display);
 
   lines = g_strsplit (request->request->str, "\n", 0);
 
@@ -306,6 +309,8 @@ start_input (HttpRequest *request)
   g_output_stream_write_all (g_io_stream_get_output_stream (G_IO_STREAM (request->connection)),
                             challenge, 16, NULL, NULL, NULL);
 
+  display_broadway->input = request;
+
   g_data_input_stream_read_upto_async (request->data, "\xff", 1, 0, NULL,
                                       (GAsyncReadyCallback)got_input, request);
 }
index 8b5c83fa2e2ab33ff2628f46c9e8d8f6b2145c6b..160416def4a68ea46fe70e0e4c9f0913c2112ec9 100644 (file)
@@ -43,6 +43,8 @@ typedef struct _GdkDisplayBroadwayClass GdkDisplayBroadwayClass;
 #define GDK_IS_DISPLAY_BROADWAY_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY_BROADWAY))
 #define GDK_DISPLAY_BROADWAY_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY_BROADWAY, GdkDisplayBroadwayClass))
 
+typedef  struct HttpRequest HttpRequest;
+
 struct _GdkDisplayBroadway
 {
   GdkDisplay parent_instance;
@@ -81,6 +83,7 @@ struct _GdkDisplayBroadway
 
   GSocketService *service;
   BroadwayOutput *output;
+  HttpRequest *input;
 };
 
 struct _GdkDisplayBroadwayClass