CR# 7028919 Evince core dumps when creating a new directory in Save-As s11express-2010-11 OSE1011_SRU6_02
authoran230044
Mon, 11 Apr 2011 04:59:18 +0000
branchs11express-2010-11
changeset 21691 eb1695f62120
parent 21654 6933734312cb
child 21731 72c374f472c7
CR# 7028919 Evince core dumps when creating a new directory in Save-As
ChangeLog
base-specs/glib2.spec
patches/glib-12-gio-fen-clear-flag.diff
--- a/ChangeLog	Tue Apr 05 06:17:12 2011 +0000
+++ b/ChangeLog	Mon Apr 11 04:59:18 2011 +0000
@@ -1,3 +1,9 @@
+2011-04-11  Abhijit Nath <[email protected]
+
+        * base-specs/glib2.spec
+        * patches/glib-12-gio-fen-clear-flag.diff 
+	Added the patch to fix CR# 7028919.
+
 2011-04-05  Abhijit Nath <[email protected]
 
         * base-specs/pidgin.spec
--- a/base-specs/glib2.spec	Tue Apr 05 06:17:12 2011 +0000
+++ b/base-specs/glib2.spec	Mon Apr 11 04:59:18 2011 +0000
@@ -46,6 +46,7 @@
 Patch10:      glib-10-gio-fen.diff
 #owner:lin date:2010-05-26 type:bug bugzilla:6955199
 Patch11:      glib-11-gio-fen-assertion-on-root.diff
+Patch12:      glib-12-gio-fen-clear-flag.diff 
 URL:          http://www.gtk.org
 BuildRoot:    %{_tmppath}/%{name}-%{version}-build
 Docdir:	      %{_defaultdocdir}/doc
@@ -90,6 +91,7 @@
 %patch9 -p1
 %patch10 -p1
 %patch11 -p1
+%patch12 -p1
 
 %build
 %ifos linux
@@ -160,6 +162,8 @@
 %{_mandir}/man3/*
 
 %changelog
+* Tue Apr 5 2011 - [email protected]
+- Added patch glib-12-gio-fen-clear-flag.diff to fix CR# 7028919.
 * Tue May 26 2010 - [email protected]
 - Added glib-11-gio-fen-assertion-on-root.diff for bugzilla:6955199.
 * Tue Apr 20 2010 - [email protected]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/glib-12-gio-fen-clear-flag.diff	Mon Apr 11 04:59:18 2011 +0000
@@ -0,0 +1,67 @@
+diff --git a/gio/fen/fen-helper.c b/gio/fen/fen-helper.c
+index 418d003..f1c51da 100644
+--- a/gio/fen/fen-helper.c
++++ b/gio/fen/fen-helper.c
+@@ -35,8 +35,7 @@
+ #endif
+ 
+ #ifdef GIO_COMPILATION
+-#define FH_W if (fh_debug_enabled) g_debug
+-static gboolean fh_debug_enabled = FALSE;
++#define FH_W if (FALSE) g_debug
+ #else
+ #include "gam_error.h"
+ #define FH_W(...) GAM_DEBUG(DEBUG_INFO, __VA_ARGS__)
+diff --git a/gio/fen/fen-kernel.c b/gio/fen/fen-kernel.c
+index a060016..f09ebaa 100644
+--- a/gio/fen/fen-kernel.c
++++ b/gio/fen/fen-kernel.c
+@@ -33,8 +33,7 @@
+ #include "fen-dump.h"
+ 
+ #ifdef GIO_COMPILATION
+-#define FK_W if (fk_debug_enabled) g_debug
+-static gboolean fk_debug_enabled = FALSE;
++#define FK_W if (FALSE) g_debug
+ #else
+ #include "gam_error.h"
+ #define FK_W(...) GAM_DEBUG(DEBUG_INFO, __VA_ARGS__)
+diff --git a/gio/fen/fen-node.c b/gio/fen/fen-node.c
+index 5bbe6b8..0a5f1e0 100644
+--- a/gio/fen/fen-node.c
++++ b/gio/fen/fen-node.c
+@@ -40,8 +40,7 @@
+ #endif
+ 
+ #ifdef GIO_COMPILATION
+-#define FN_W if (fn_debug_enabled) g_debug
+-static gboolean fn_debug_enabled = FALSE;
++#define FN_W if (FALSE) g_debug
+ #else
+ #include "gam_error.h"
+ #define FN_W(...) GAM_DEBUG(DEBUG_INFO, __VA_ARGS__)
+@@ -145,7 +144,6 @@ node_find(node_t* node, const gchar* filename, gboolean create_on_missing)
+     for (token = strtok_r (str, G_DIR_SEPARATOR_S, &lasts);
+          token != NULL && child != NULL;
+          token = strtok_r (NULL, G_DIR_SEPARATOR_S, &lasts)) {
+-        FN_W ("%s %s + %s\n", __func__, NODE_NAME(parent), token);
+         child = node_get_child(parent, token);
+         if (child) {
+             parent = child;
+@@ -282,7 +280,6 @@ node_try_delete(node_t* node)
+     if (!NODE_NEED_MONITOR(node)) {
+         /* Clean some flags. */
+         /* NODE_CLE_FLAG(node, NODE_FLAG_HAS_SNAPSHOT | NODE_FLAG_STAT_DONE); */
+-        node->flag = 0;
+ 
+         /* Now we handle the state. */
+         if (NODE_HAS_STATE(node, NODE_STATE_ASSOCIATED)) {
+@@ -329,6 +326,8 @@ static void
+ node_delete (node_t *f)
+ {
+     FN_W ("%s 0x%p %s\n", __func__, f, NODE_NAME(f));
++    /* Clean flags. */
++    f->flag = 0;
+     g_assert(f->state == 0);
+     g_assert(!NODE_IS_ACTIVE(f));
+     g_assert(g_hash_table_size (f->children) == 0);