gtksourceview r2107 - in trunk: . gtksourceview



Author: muntyan
Date: Tue Dec 16 19:04:39 2008
New Revision: 2107
URL: http://svn.gnome.org/viewvc/gtksourceview?rev=2107&view=rev

Log:
Reverted last buggy commit


Modified:
   trunk/ChangeLog
   trunk/gtksourceview/gtksourcestyle.c

Modified: trunk/gtksourceview/gtksourcestyle.c
==============================================================================
--- trunk/gtksourceview/gtksourcestyle.c	(original)
+++ trunk/gtksourceview/gtksourcestyle.c	Tue Dec 16 19:04:39 2008
@@ -126,7 +126,7 @@
 							       _("Line background set"),
 							       _("Whether line background color is set"),
 							       FALSE,
-							       G_PARAM_READWRITE));
+							       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
 	g_object_class_install_property (object_class,
 					 PROP_FOREGROUND_SET,
@@ -134,7 +134,7 @@
 							       _("Foreground set"),
 							       _("Whether foreground color is set"),
 							       FALSE,
-							       G_PARAM_READWRITE));
+							       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
 	g_object_class_install_property (object_class,
 					 PROP_BACKGROUND_SET,
@@ -142,7 +142,7 @@
 							       _("Background set"),
 							       _("Whether background color is set"),
 							       FALSE,
-							       G_PARAM_READWRITE));
+							       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
 	g_object_class_install_property (object_class,
 					 PROP_BOLD_SET,
@@ -150,7 +150,7 @@
 							       _("Bold set"),
 							       _("Whether bold attribute is set"),
 							       FALSE,
-							       G_PARAM_READWRITE));
+							       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
 	g_object_class_install_property (object_class,
 					 PROP_ITALIC_SET,
@@ -158,7 +158,7 @@
 							       _("Italic set"),
 							       _("Whether italic attribute is set"),
 							       FALSE,
-							       G_PARAM_READWRITE));
+							       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
 	g_object_class_install_property (object_class,
 					 PROP_UNDERLINE_SET,
@@ -166,7 +166,7 @@
 							       _("Underline set"),
 							       _("Whether underline attribute is set"),
 							       FALSE,
-							       G_PARAM_READWRITE));
+							       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
 	g_object_class_install_property (object_class,
 					 PROP_STRIKETHROUGH_SET,
@@ -174,7 +174,7 @@
 							       _("Strikethrough set"),
 							       _("Whether strikethrough attribute is set"),
 							       FALSE,
-							       G_PARAM_READWRITE));
+							       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 }
 
 static void
@@ -186,7 +186,15 @@
 }
 
 #define SET_MASK(style,name) (style)->mask |= (GTK_SOURCE_STYLE_USE_##name)
-#define UNSET_MASK(style,name) (style)->mask &= ~(GTK_SOURCE_STYLE_USE_##name)
+#define UNSET_MASK(style,name) (style)->mask &= (GTK_SOURCE_STYLE_USE_##name)
+
+#define MODIFY_MASK(style,value,name)		\
+G_STMT_START {					\
+	if (g_value_get_boolean (value))	\
+		SET_MASK (style, name);		\
+	else					\
+		UNSET_MASK (style, name);	\
+} G_STMT_END
 
 #define GET_MASK(style,value,name)		\
 	g_value_set_boolean (value, ((style)->mask & GTK_SOURCE_STYLE_USE_##name) != 0)
@@ -261,18 +269,26 @@
 			SET_MASK (style, STRIKETHROUGH);
 			break;
 
-		/* These properties have to stay WRITABLE for backwards compatibility,
-		 * but they must not work either, see
-		 * http://bugzilla.gnome.org/show_bug.cgi?id=564425 for discussion */
 		case PROP_FOREGROUND_SET:
+			MODIFY_MASK (style, value, FOREGROUND);
+			break;
 		case PROP_BACKGROUND_SET:
+			MODIFY_MASK (style, value, BACKGROUND);
+			break;
 		case PROP_LINE_BACKGROUND_SET:
+			MODIFY_MASK (style, value, LINE_BACKGROUND);
+			break;
 		case PROP_BOLD_SET:
+			MODIFY_MASK (style, value, BOLD);
+			break;
 		case PROP_ITALIC_SET:
+			MODIFY_MASK (style, value, ITALIC);
+			break;
 		case PROP_UNDERLINE_SET:
+			MODIFY_MASK (style, value, UNDERLINE);
+			break;
 		case PROP_STRIKETHROUGH_SET:
-			g_warning ("property '%s' of object '%s' may not be modified",
-				   pspec->name, g_type_name (G_OBJECT_TYPE (object)));
+			MODIFY_MASK (style, value, STRIKETHROUGH);
 			break;
 
 		default:



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