summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2015-01-09 16:35:30 -0800
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2016-06-03 14:11:16 +0300
commit78ddf3963d58707c82823f7ca65cc5a4695be52d (patch)
tree1016d088ebd4428dd8403045a3c86b748d1d169e
parentdc2280b81889f04fa2de534765f907b3d9b6c698 (diff)
downloadmetacity-78ddf3963d58707c82823f7ca65cc5a4695be52d.tar.gz
frames: simplify our frame title management
This fixes a number of crashers when they try to change their dialog layout at runtime because we're too tricksy with the frame title.
-rw-r--r--src/ui/frames.c29
1 files changed, 3 insertions, 26 deletions
diff --git a/src/ui/frames.c b/src/ui/frames.c
index 039b371e..a6454714 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -334,15 +334,8 @@ queue_recalc_func (gpointer key, gpointer value, gpointer data)
invalidate_whole_window (frames, frame);
meta_core_queue_frame_resize (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
frame->xwindow);
- if (frame->text_layout)
- {
- /* save title to recreate layout */
- g_free (frame->title);
-
- frame->title = g_strdup (pango_layout_get_text (frame->text_layout));
- g_clear_object (&frame->text_layout);
- }
+ g_clear_object (&frame->text_layout);
}
static void
@@ -445,17 +438,7 @@ meta_frames_ensure_layout (MetaFrames *frames,
style = meta_theme_get_frame_style (meta_ui_get_theme (), type, flags);
if (style != frame->cache_style)
- {
- if (frame->text_layout)
- {
- /* save title to recreate layout */
- g_free (frame->title);
-
- frame->title = g_strdup (pango_layout_get_text (frame->text_layout));
-
- g_clear_object (&frame->text_layout);
- }
- }
+ g_clear_object (&frame->text_layout);
frame->cache_style = style;
@@ -496,14 +479,8 @@ meta_frames_ensure_layout (MetaFrames *frames,
GINT_TO_POINTER (frame->text_height));
}
- pango_layout_set_font_description (frame->text_layout,
- font_desc);
-
+ pango_layout_set_font_description (frame->text_layout, font_desc);
pango_font_description_free (font_desc);
-
- /* Save some RAM */
- g_free (frame->title);
- frame->title = NULL;
}
}