diff options
author | Jasper St. Pierre <jstpierre@mecheye.net> | 2015-01-09 16:35:30 -0800 |
---|---|---|
committer | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2016-06-03 14:11:16 +0300 |
commit | 78ddf3963d58707c82823f7ca65cc5a4695be52d (patch) | |
tree | 1016d088ebd4428dd8403045a3c86b748d1d169e | |
parent | dc2280b81889f04fa2de534765f907b3d9b6c698 (diff) | |
download | metacity-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.c | 29 |
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; } } |