pidgin/ljfisher-ssl-client-auth

Apparently, there's an object signal for this.

2012-06-08, Elliott Sales de Andrade
2a61ad7ca6b6
Parents 1e32fba3d30d
Children 5005e63a35d4
Apparently, there's an object signal for this.

Unfortunately, this signal is also called when we do programmatic
changes, which could be trouble.
--- a/pidgin/gtkwebview.c Wed Jun 06 04:10:12 2012 +0000
+++ b/pidgin/gtkwebview.c Fri Jun 08 01:18:55 2012 +0000
@@ -414,7 +414,7 @@
}
static void
-editable_input_cb(GObject *target, WebKitDOMEvent *event, GtkWebView *webview)
+editable_input_cb(GtkWebView *webview, gpointer data)
{
GtkWebViewPriv *priv = GTK_WEBVIEW_GET_PRIVATE(webview);
if (!priv->edit.block_changed)
@@ -704,19 +704,15 @@
void
gtk_webview_set_editable(GtkWebView *webview, gboolean editable)
{
- WebKitDOMDocument *doc;
-
webkit_web_view_set_editable(WEBKIT_WEB_VIEW(webview), editable);
- doc = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(webview));
if (editable) {
- webkit_dom_event_target_add_event_listener(WEBKIT_DOM_EVENT_TARGET(doc),
- "input", G_CALLBACK(editable_input_cb),
- FALSE, webview);
+ g_signal_connect(G_OBJECT(webview), "user-changed-contents",
+ G_CALLBACK(editable_input_cb), NULL);
} else {
- webkit_dom_event_target_remove_event_listener(WEBKIT_DOM_EVENT_TARGET(doc),
- "input", G_CALLBACK(editable_input_cb),
- FALSE);
+ g_signal_handlers_disconnect_by_func(G_OBJECT(webview),
+ G_CALLBACK(editable_input_cb),
+ NULL);
}
}