aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/xfns.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/xfns.c b/src/xfns.c
index 03cbaaec8e2..73a88dfc058 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -1605,6 +1605,16 @@ x_set_name_internal (f, name)
1605 int bytes, stringp; 1605 int bytes, stringp;
1606 int do_free_icon_value = 0, do_free_text_value = 0; 1606 int do_free_icon_value = 0, do_free_text_value = 0;
1607 Lisp_Object coding_system; 1607 Lisp_Object coding_system;
1608#ifdef USE_GTK
1609 Lisp_Object encoded_name;
1610 struct gcpro gcpro1;
1611
1612 /* As ENCODE_UTF_8 may cause GC and relocation of string data,
1613 we use it before x_encode_text that may return string data. */
1614 GCPRO1 (name);
1615 encoded_name = ENCODE_UTF_8 (name);
1616 UNGCPRO;
1617#endif
1608 1618
1609 coding_system = Qcompound_text; 1619 coding_system = Qcompound_text;
1610 /* Note: Encoding strategy 1620 /* Note: Encoding strategy
@@ -1645,7 +1655,7 @@ x_set_name_internal (f, name)
1645 1655
1646#ifdef USE_GTK 1656#ifdef USE_GTK
1647 gtk_window_set_title (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), 1657 gtk_window_set_title (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
1648 (char *) SDATA (ENCODE_UTF_8 (name))); 1658 (char *) SDATA (encoded_name));
1649#else /* not USE_GTK */ 1659#else /* not USE_GTK */
1650 XSetWMName (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &text); 1660 XSetWMName (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &text);
1651#endif /* not USE_GTK */ 1661#endif /* not USE_GTK */