summaryrefslogtreecommitdiffstats
path: root/video/out/x11_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/x11_common.c')
-rw-r--r--video/out/x11_common.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/video/out/x11_common.c b/video/out/x11_common.c
index 95308b9559..dd7565512e 100644
--- a/video/out/x11_common.c
+++ b/video/out/x11_common.c
@@ -1194,14 +1194,13 @@ static void vo_x11_update_window_title(struct vo *vo)
{
struct vo_x11_state *x11 = vo->x11;
- if (!x11->window)
+ if (!x11->window || !x11->window_title)
return;
- const char *title = vo_get_window_title(vo);
- vo_x11_set_property_string(vo, XA_WM_NAME, title);
- vo_x11_set_property_string(vo, XA_WM_ICON_NAME, title);
- vo_x11_set_property_utf8(vo, XA(x11, _NET_WM_NAME), title);
- vo_x11_set_property_utf8(vo, XA(x11, _NET_WM_ICON_NAME), title);
+ vo_x11_set_property_string(vo, XA_WM_NAME, x11->window_title);
+ vo_x11_set_property_string(vo, XA_WM_ICON_NAME, x11->window_title);
+ vo_x11_set_property_utf8(vo, XA(x11, _NET_WM_NAME), x11->window_title);
+ vo_x11_set_property_utf8(vo, XA(x11, _NET_WM_ICON_NAME), x11->window_title);
}
static void vo_x11_xembed_update(struct vo_x11_state *x11, int flags)
@@ -1804,6 +1803,8 @@ int vo_x11_control(struct vo *vo, int *events, int request, void *arg)
set_screensaver(x11, true);
return VO_TRUE;
case VOCTRL_UPDATE_WINDOW_TITLE:
+ talloc_free(x11->window_title);
+ x11->window_title = talloc_strdup(x11, (char *)arg);
if (!x11->parent)
vo_x11_update_window_title(vo);
return VO_TRUE;