Skip to content

Commit a9eeb4c

Browse files
committed
Fix X11 webview with recent glib
Signed-off-by: falkTX <[email protected]>
1 parent 6c06c80 commit a9eeb4c

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

distrho/extra/WebViewImpl.cpp

+9-8
Original file line numberDiff line numberDiff line change
@@ -948,7 +948,7 @@ struct QSize {
948948
S NAME = reinterpret_cast<S>(dlsym(nullptr, #SN)); \
949949
DISTRHO_SAFE_ASSERT_RETURN(NAME != nullptr, false);
950950

951-
static void web_wake_idle(void* const ptr)
951+
static gboolean web_wake_idle(void* const ptr)
952952
{
953953
WebViewRingBuffer* const shmptr = static_cast<WebViewRingBuffer*>(ptr);
954954

@@ -996,6 +996,7 @@ static void web_wake_idle(void* const ptr)
996996
}
997997

998998
free(buffer);
999+
return false;
9991000
}
10001001

10011002
// -----------------------------------------------------------------------------------------------------------
@@ -1054,7 +1055,7 @@ static bool gtk3(Display* const display,
10541055
return false;
10551056
}
10561057

1057-
typedef void (*g_main_context_invoke_t)(void*, void*, void*);
1058+
typedef void (*g_idle_add_t)(void*, void*);
10581059
typedef ulong (*g_signal_connect_data_t)(void*, const char*, void*, void*, void*, int);
10591060
typedef void (*gdk_set_allowed_backends_t)(const char*);
10601061
typedef void (*gtk_container_add_t)(GtkContainer*, GtkWidget*);
@@ -1081,7 +1082,7 @@ static bool gtk3(Display* const display,
10811082
typedef void* (*webkit_web_view_run_javascript_t)(WebKitWebView*, const char*, void*, void*, void*);
10821083
typedef void (*webkit_web_view_set_background_color_t)(WebKitWebView*, const double*);
10831084

1084-
CSYM(g_main_context_invoke_t, g_main_context_invoke)
1085+
CSYM(g_idle_add_t, g_idle_add)
10851086
CSYM(g_signal_connect_data_t, g_signal_connect_data)
10861087
CSYM(gdk_set_allowed_backends_t, gdk_set_allowed_backends)
10871088
CSYM(gtk_container_add_t, gtk_container_add)
@@ -1200,7 +1201,7 @@ static bool gtk3(Display* const display,
12001201
const webkit_web_view_run_javascript_t _webkit_web_view_run_javascript;
12011202
const webkit_web_view_load_uri_t _webkit_web_view_load_uri;
12021203
const gtk_main_quit_t _gtk_main_quit;
1203-
const g_main_context_invoke_t _g_main_context_invoke;
1204+
const g_idle_add_t _g_idle_add;
12041205

12051206
Gtk3WebFramework(const char* const url,
12061207
WebViewRingBuffer* const shmptr,
@@ -1209,15 +1210,15 @@ static bool gtk3(Display* const display,
12091210
const webkit_web_view_run_javascript_t webkit_web_view_run_javascript,
12101211
const webkit_web_view_load_uri_t webkit_web_view_load_uri,
12111212
const gtk_main_quit_t gtk_main_quit,
1212-
const g_main_context_invoke_t g_main_context_invoke)
1213+
const g_idle_add_t g_idle_add)
12131214
: _url(url),
12141215
_shmptr(shmptr),
12151216
_webview(webview),
12161217
_webkit_web_view_evaluate_javascript(webkit_web_view_evaluate_javascript),
12171218
_webkit_web_view_run_javascript(webkit_web_view_run_javascript),
12181219
_webkit_web_view_load_uri(webkit_web_view_load_uri),
12191220
_gtk_main_quit(gtk_main_quit),
1220-
_g_main_context_invoke(g_main_context_invoke) {}
1221+
_g_idle_add(g_idle_add) {}
12211222

12221223
void evaluate(const char* const js) override
12231224
{
@@ -1245,7 +1246,7 @@ static bool gtk3(Display* const display,
12451246

12461247
void wake(WebViewRingBuffer* const rb) override
12471248
{
1248-
_g_main_context_invoke(NULL, G_CALLBACK(web_wake_idle), rb);
1249+
_g_idle_add(G_CALLBACK(web_wake_idle), rb);
12491250
}
12501251
};
12511252

@@ -1256,7 +1257,7 @@ static bool gtk3(Display* const display,
12561257
webkit_web_view_run_javascript,
12571258
webkit_web_view_load_uri,
12581259
gtk_main_quit,
1259-
g_main_context_invoke);
1260+
g_idle_add);
12601261

12611262
webFramework = &webFrameworkObj;
12621263

0 commit comments

Comments
 (0)