Re: [evolution-patches] Re: fix for #41751



Yeah I think I broke it again when working on the styles code, ugh. 
Anyway here is the version based on your comments.

--Larry

On Wed, 2003-05-14 at 07:59, Radek Doulík wrote:
> On Wed, 2003-05-14 at 02:52, Larry Ewing wrote:
> > This is fix for the strange behavior danw was seeing in 
> > 
> > http://bugzilla.ximian.com/show_bug.cgi?id=41751
> > 
> > it isn't very pretty but it should be safe.
> 
> It will be simpler and faster if you just added html_font_set_release
> (&manager->variable, manager->painter); call when fixed font changed.
> It's because calling release again on already released set cost very
> little, while releasing fixed fonts when only variable was changed costs
> a lot more.
> 
> Changing fonts is not frequent operation so it's probably OK to use your
> patch if you mind. The funny thing is I remember fixing the same bug in
> times we used gconf :)
> 
> Cheers
> Radek
> 
> 
> _______________________________________________
> Evolution-patches mailing list
> Evolution-patches lists ximian com
> http://lists.ximian.com/mailman/listinfo/evolution-patches
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gtkhtml/src/ChangeLog,v
retrieving revision 1.1794
diff -u -p -r1.1794 ChangeLog
--- ChangeLog	12 May 2003 20:49:26 -0000	1.1794
+++ ChangeLog	15 May 2003 18:24:10 -0000
@@ -1,3 +1,10 @@
+2003-05-13  Larry Ewing  <lewing ximian com>
+
+	* htmlfontmanager.c (html_font_manager_set_default): clear both
+	fonts if fixed font description changes so that if the fixed font
+	changes but the variable does not the plain painter will still
+	pick up the change.  See bug #41751.
+
 2003-05-08  Radek Doulik  <rodo ximian com>
 
 	* gtkhtml.c (key_press_event): workaround about Shift-TAB
Index: htmlfontmanager.c
===================================================================
RCS file: /cvs/gnome/gtkhtml/src/htmlfontmanager.c,v
retrieving revision 1.38
diff -u -p -r1.38 htmlfontmanager.c
--- htmlfontmanager.c	23 Mar 2003 21:57:57 -0000	1.38
+++ htmlfontmanager.c	15 May 2003 18:24:10 -0000
@@ -158,10 +158,10 @@ html_font_manager_set_default (HTMLFontM
 		clear_additional_font_sets (manager);
 		changed = TRUE;
 	}
+
 	if (changed) {
 		html_font_set_release (&manager->variable, manager->painter);
 	}
-	changed = FALSE;
 
 	/* fixed width fonts */
 	changed = html_font_set_face (&manager->fixed, fixed);
@@ -170,8 +170,16 @@ html_font_manager_set_default (HTMLFontM
 		manager->fix_points = fix_points;
 		changed = TRUE;
 	}
-	if (changed)
+
+	if (changed) {
+		/*
+		 * NOTE we clear both if fixed changes because the plain painter pulls nasty
+		 * tricks with using fixed fonts in the variable manager so if the fixed font
+		 * change the variable font may change too.
+                 */
+		html_font_set_release (&manager->variable, manager->painter);
 		html_font_set_release (&manager->fixed, manager->painter);
+	}
 }
 
 static gint


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]