Author: wiget                        Date: Sun Nov 14 16:57:58 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- fix building with GTK+ 3.x

---- Files affected:
packages/gtkhtml:
   gtk3.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/gtkhtml/gtk3.patch
diff -u /dev/null packages/gtkhtml/gtk3.patch:1.1
--- /dev/null   Sun Nov 14 17:57:58 2010
+++ packages/gtkhtml/gtk3.patch Sun Nov 14 17:57:53 2010
@@ -0,0 +1,167 @@
+commit aabac45a84a99ccf01a07a5f4b928c4bb0fd26b3
+Author: Matthew Barnes <[email protected]>
+Date:   Mon Nov 8 20:35:41 2010 -0500
+
+    Adapt to new GtkScrollable interface.
+
+diff --git a/gtkhtml/gtkhtml.c b/gtkhtml/gtkhtml.c
+index 0ce2d42..4ff98f7 100644
+--- a/gtkhtml/gtkhtml.c
++++ b/gtkhtml/gtkhtml.c
+@@ -616,33 +616,45 @@ horizontal_scroll_cb (GtkAdjustment *adjustment, 
gpointer data)
+ }
+ 
+ static void
+-connect_adjustments (GtkHTML *html,
+-                   GtkAdjustment *hadj,
+-                   GtkAdjustment *vadj)
++hadjustment_notify_cb (GtkHTML *html)
+ {
++      GtkScrollable *scrollable;
+       GtkAdjustment *hadjustment;
+-      GtkAdjustment *vadjustment;
+ 
+-      hadjustment = gtk_layout_get_hadjustment (GTK_LAYOUT (html));
+-      vadjustment = gtk_layout_get_vadjustment (GTK_LAYOUT (html));
++      scrollable = GTK_SCROLLABLE (html);
++      hadjustment = gtk_scrollable_get_hadjustment (scrollable);
++
++      if (html->hadj_connection > 0)
++              g_signal_handler_disconnect (
++                      hadjustment, html->hadj_connection);
+ 
+-      if (html->hadj_connection != 0)
+-              g_signal_handler_disconnect (hadjustment, 
html->hadj_connection);
++      if (hadjustment != NULL)
++              html->hadj_connection = g_signal_connect (
++                      hadjustment, "value_changed",
++                      G_CALLBACK (horizontal_scroll_cb), html);
++      else
++              html->hadj_connection = 0;
++}
++
++static void
++vadjustment_notify_cb (GtkHTML *html)
++{
++      GtkScrollable *scrollable;
++      GtkAdjustment *vadjustment;
++
++      scrollable = GTK_SCROLLABLE (html);
++      vadjustment = gtk_scrollable_get_vadjustment (scrollable);
+ 
+       if (html->vadj_connection != 0)
+-              g_signal_handler_disconnect (vadjustment, 
html->vadj_connection);
++              g_signal_handler_disconnect (
++                      vadjustment, html->vadj_connection);
+ 
+-      if (vadj != NULL)
+-              html->vadj_connection =
+-                      g_signal_connect (vadj, "value_changed", G_CALLBACK 
(vertical_scroll_cb), (gpointer) html);
++      if (vadjustment != NULL)
++              html->vadj_connection = g_signal_connect (
++                      vadjustment, "value_changed",
++                      G_CALLBACK (vertical_scroll_cb), html);
+       else
+               html->vadj_connection = 0;
+-
+-      if (hadj != NULL)
+-              html->hadj_connection =
+-                      g_signal_connect (hadj, "value_changed", G_CALLBACK 
(horizontal_scroll_cb), (gpointer) html);
+-      else
+-              html->hadj_connection = 0;
+ }
+ 
+ 
+@@ -781,7 +793,8 @@ dispose (GObject *object)
+               html->ibeam_cursor = NULL;
+       }
+ 
+-      connect_adjustments (html, NULL, NULL);
++      gtk_scrollable_set_hadjustment (GTK_SCROLLABLE (html), NULL);
++      gtk_scrollable_set_vadjustment (GTK_SCROLLABLE (html), NULL);
+ 
+       if (html->priv) {
+               if (html->priv->idle_handler_id != 0) {
+@@ -2444,20 +2457,6 @@ utf8_filter_out_bom (gchar *str) {
+       return str;
+ }
+ 
+-static void
+-set_adjustments (GtkLayout     *layout,
+-               GtkAdjustment *hadj,
+-               GtkAdjustment *vadj)
+-{
+-      GtkHTML *html = GTK_HTML (layout);
+-
+-      connect_adjustments (html, hadj, vadj);
+-
+-      if (parent_class->set_scroll_adjustments)
+-              (* parent_class->set_scroll_adjustments) (layout, hadj, vadj);
+-}
+-
+-
+ /* Initialization.  */
+ static void
+ set_focus_child (GtkContainer *containter, GtkWidget *w)
+@@ -3240,8 +3239,6 @@ gtk_html_class_init (GtkHTMLClass *klass)
+ 
+       container_class->set_focus_child = set_focus_child;
+ 
+-      layout_class->set_scroll_adjustments = set_adjustments;
+-
+       html_class->scroll            = scroll;
+       html_class->cursor_move       = cursor_move;
+       html_class->command           = command;
+@@ -3541,20 +3538,38 @@ gtk_html_init (GtkHTML* html)
+       html->priv->im_block_reset = FALSE;
+       html->priv->im_pre_len = 0;
+ 
+-      g_signal_connect (G_OBJECT (html->priv->im_context), "commit",
+-                        G_CALLBACK (gtk_html_im_commit_cb), html);
+-      g_signal_connect (G_OBJECT (html->priv->im_context), "preedit_start",
+-                        G_CALLBACK (gtk_html_im_preedit_start_cb), html);
+-      g_signal_connect (G_OBJECT (html->priv->im_context), "preedit_changed",
+-                        G_CALLBACK (gtk_html_im_preedit_changed_cb), html);
+-      g_signal_connect (G_OBJECT (html->priv->im_context), 
"retrieve_surrounding",
+-                        G_CALLBACK (gtk_html_im_retrieve_surrounding_cb), 
html);
+-      g_signal_connect (G_OBJECT (html->priv->im_context), 
"delete_surrounding",
+-                        G_CALLBACK (gtk_html_im_delete_surrounding_cb), html);
+-
+-      html->priv->notify_monospace_font_id =
+-              gconf_client_notify_add (gconf_client_get_default (), 
"/desktop/gnome/interface/monospace_font_name",
+-                                       client_notify_monospace_font, html, 
NULL, &gconf_error);
++      g_signal_connect (
++              html, "notify::hadjustment",
++              G_CALLBACK (hadjustment_notify_cb), NULL);
++
++      g_signal_connect (
++              html, "notify::vadjustment",
++              G_CALLBACK (vadjustment_notify_cb), NULL);
++
++      g_signal_connect (
++              html->priv->im_context, "commit",
++              G_CALLBACK (gtk_html_im_commit_cb), html);
++
++      g_signal_connect (
++              html->priv->im_context, "preedit_start",
++              G_CALLBACK (gtk_html_im_preedit_start_cb), html);
++
++      g_signal_connect (
++              html->priv->im_context, "preedit_changed",
++              G_CALLBACK (gtk_html_im_preedit_changed_cb), html);
++
++      g_signal_connect (
++              html->priv->im_context, "retrieve_surrounding",
++              G_CALLBACK (gtk_html_im_retrieve_surrounding_cb), html);
++
++      g_signal_connect (
++              html->priv->im_context, "delete_surrounding",
++              G_CALLBACK (gtk_html_im_delete_surrounding_cb), html);
++
++      html->priv->notify_monospace_font_id = gconf_client_notify_add (
++              gconf_client_get_default (),
++              "/desktop/gnome/interface/monospace_font_name",
++              client_notify_monospace_font, html, NULL, &gconf_error);
+ 
+       gtk_html_construct (html);
+ }
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to