gtk-css-engine r131 - in trunk: . libccd/ccd
- From: robsta svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk-css-engine r131 - in trunk: . libccd/ccd
- Date: Fri, 26 Sep 2008 15:08:20 +0000 (UTC)
Author: robsta
Date: Fri Sep 26 15:08:20 2008
New Revision: 131
URL: http://svn.gnome.org/viewvc/gtk-css-engine?rev=131&view=rev
Log:
* libccd/ccd/ccd-border.c:
* libccd/ccd/ccd-color.c:
* libccd/ccd/ccd-color.h:
* libccd/ccd/ccd-parser.c:
Work around random startup crashes caused by libcroco, see bug #553937.
Modified:
trunk/ (props changed)
trunk/ChangeLog
trunk/libccd/ccd/ccd-border.c
trunk/libccd/ccd/ccd-color.c
trunk/libccd/ccd/ccd-color.h
trunk/libccd/ccd/ccd-parser.c
Modified: trunk/libccd/ccd/ccd-border.c
==============================================================================
--- trunk/libccd/ccd/ccd-border.c (original)
+++ trunk/libccd/ccd/ccd-border.c Fri Sep 26 15:08:20 2008
@@ -323,6 +323,8 @@
ccd_property_spec_t width_spec;
ccd_property_spec_t style_spec;
+ ccd_color_init (&color);
+
/* Radius */
iter = values;
if (0 == strcmp ("border-top-right-radius", property)) {
Modified: trunk/libccd/ccd/ccd-color.c
==============================================================================
--- trunk/libccd/ccd/ccd-color.c (original)
+++ trunk/libccd/ccd/ccd-color.c Fri Sep 26 15:08:20 2008
@@ -178,6 +178,14 @@
{ "yellowgreen", { CCD_PROPERTY_SPEC_SET, 0x9a/255., 0xcd/255., 0x32/255. } },
};
+void
+ccd_color_init (ccd_color_t *self)
+{
+ memset (self, 0, sizeof (*self));
+
+ self->spec = CCD_PROPERTY_SPEC_UNSET;
+}
+
static bool
parse_name (ccd_color_t *self,
char const *css_color_name)
Modified: trunk/libccd/ccd/ccd-color.h
==============================================================================
--- trunk/libccd/ccd/ccd-color.h (original)
+++ trunk/libccd/ccd/ccd-color.h Fri Sep 26 15:08:20 2008
@@ -41,6 +41,8 @@
double blue;
} ccd_color_t;
+void ccd_color_init (ccd_color_t *self);
+
bool ccd_color_parse (ccd_color_t *self, CRTerm const **values);
#ifdef CCD_DEBUG
Modified: trunk/libccd/ccd/ccd-parser.c
==============================================================================
--- trunk/libccd/ccd/ccd-parser.c (original)
+++ trunk/libccd/ccd/ccd-parser.c Fri Sep 26 15:08:20 2008
@@ -261,10 +261,16 @@
handler->end_selector = end_selector_cb;
cr_parser_set_sac_handler (parser, handler);
- ret = cr_parser_parse (parser);
- cr_doc_handler_destroy (handler);
- cr_parser_destroy (parser);
+ ret = cr_parser_parse (parser);
+ if (ret != CR_OK) {
+ /* From the department of awesome error handling: */
+ g_warning ("Parsing failed but all I can offer for consolation is this: %d\n", ret);
+ }
+
+ /* See http://bugzilla.gnome.org/show_bug.cgi?id=553937 .
+ * cr_doc_handler_unref (handler), handler = NULL; */
+ cr_parser_destroy (parser), parser = NULL;
return info.blocks;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]