aboutsummaryrefslogtreecommitdiffstats
path: root/src/xwidget.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xwidget.c')
-rw-r--r--src/xwidget.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/xwidget.c b/src/xwidget.c
index 32022abf341..5f2651214e3 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -749,8 +749,10 @@ argument procedure FUN.*/)
749 /* JavaScript execution happens asynchronously. If an elisp 749 /* JavaScript execution happens asynchronously. If an elisp
750 callback function is provided we pass it to the C callback 750 callback function is provided we pass it to the C callback
751 procedure that retrieves the return value. */ 751 procedure that retrieves the return value. */
752 gchar *script_string
753 = XSAVE_POINTER (XCAR (AREF (xw->script_callbacks, idx)), 0);
752 webkit_web_view_run_javascript (WEBKIT_WEB_VIEW (xw->widget_osr), 754 webkit_web_view_run_javascript (WEBKIT_WEB_VIEW (xw->widget_osr),
753 XSAVE_POINTER (XCAR (AREF (xw->script_callbacks, idx)), 0), 755 script_string,
754 NULL, /* cancelable */ 756 NULL, /* cancelable */
755 webkit_javascript_finished_cb, 757 webkit_javascript_finished_cb,
756 (gpointer) idx); 758 (gpointer) idx);
@@ -1221,15 +1223,13 @@ kill_buffer_xwidgets (Lisp_Object buffer)
1221 gtk_widget_destroy (xw->widgetwindow_osr); 1223 gtk_widget_destroy (xw->widgetwindow_osr);
1222 } 1224 }
1223 if (!NILP (xw->script_callbacks)) 1225 if (!NILP (xw->script_callbacks))
1224 { 1226 for (ptrdiff_t idx = 0; idx < ASIZE (xw->script_callbacks); idx++)
1225 ptrdiff_t idx; 1227 {
1226 for (idx = 0; idx < ASIZE (xw->script_callbacks); idx++) 1228 Lisp_Object cb = AREF (xw->script_callbacks, idx);
1227 { 1229 if (!NILP (cb))
1228 if (!NILP (AREF (xw->script_callbacks, idx))) 1230 xfree (XSAVE_POINTER (XCAR (cb), 0));
1229 xfree (XSAVE_POINTER (XCAR (AREF (xw->script_callbacks, idx)), 0)); 1231 ASET (xw->script_callbacks, idx, Qnil);
1230 ASET (xw->script_callbacks, idx, Qnil); 1232 }
1231 }
1232 }
1233 } 1233 }
1234 } 1234 }
1235} 1235}