<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -31,6 +31,7 @@ class UrlPrinter(object):
         webkit_settings.set_property('enable-plugins', False)
         self._webview.connect('load-error', self._load_error_cb)
         self._verbose = verbose
+        self._loop = glib.MainLoop()
 
     def print_url(self, url, outfile):
         self._webview.open(url)
@@ -41,7 +42,7 @@ class UrlPrinter(object):
 
         with warnings.catch_warnings():
             warnings.simplefilter(&quot;ignore&quot;)
-            gtk.main()
+            self._loop.run()
 
         self._webview.disconnect(handler)
 
@@ -55,15 +56,15 @@ class UrlPrinter(object):
             frame.print_full(print_op, gtk.PRINT_OPERATION_ACTION_EXPORT)
         except glib.GError, e:
             self._print_error(e.message+'\n')
-            gtk.main_quit()
+            self._loop.quit()
 
     def _load_error_cb(self, view, frame, url, gp):
         self._print_error(&quot;Error loading %s\n&quot; % url)
-        gtk.main_quit()
+        self._loop.quit()
     
     def _end_print_cb(self, *args):
         self._print_status('Done.\n')
-        gtk.main_quit()
+        self._loop.quit()
 
     def _print_error(self, status):
         sys.stderr.write(status)
@@ -77,6 +78,9 @@ class UrlPrinter(object):
 if __name__ == &quot;__main__&quot;:
     from optparse import OptionParser
     from urllib import quote_plus
+
+    gtk.gdk.threads_init()
+
     parser = OptionParser(usage=&quot;usage: %prog [options] URL [outfile]&quot;,
                           version=&quot;%prog &quot;+VERSION)
     parser.add_option(&quot;-q&quot;, &quot;--quiet&quot;,</diff>
      <filename>interwibble</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>2a88ad99a69db562eeb89f2dad1e186b25ee6a9f</id>
    </parent>
  </parents>
  <author>
    <name>Eitan Isaacson</name>
    <email>eitan@monotonous.org</email>
  </author>
  <url>http://github.com/eeejay/interwibble/commit/230fc6ef1c3aa8e937a7ef1ae4e225a396aa6406</url>
  <id>230fc6ef1c3aa8e937a7ef1ae4e225a396aa6406</id>
  <committed-date>2009-11-09T11:02:55-08:00</committed-date>
  <authored-date>2009-11-09T11:02:55-08:00</authored-date>
  <message>Fixed threads issue, weird</message>
  <tree>97577fde5dd0252d72054aeb727f1fee2ef059eb</tree>
  <committer>
    <name>Eitan Isaacson</name>
    <email>eitan@monotonous.org</email>
  </committer>
</commit>
