[brasero] Fix a crash with unreadable directories
- From: Philippe Rouquier <philippr src gnome org>
- To: svn-commits-list gnome org
- Subject: [brasero] Fix a crash with unreadable directories
- Date: Tue, 12 May 2009 14:26:29 -0400 (EDT)
commit d4ec7527fde17452d284121639b2783b90beed42
Author: Philippe Rouquier <bonfire-app wanadoo fr>
Date: Tue May 12 18:28:59 2009 +0200
Fix a crash with unreadable directories
Fix icon displayed in data projects for directories
---
libbrasero-burn/brasero-track-data-cfg.c | 29 ++++++++++++++---------------
1 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/libbrasero-burn/brasero-track-data-cfg.c b/libbrasero-burn/brasero-track-data-cfg.c
index fbc0d97..ccfec4a 100644
--- a/libbrasero-burn/brasero-track-data-cfg.c
+++ b/libbrasero-burn/brasero-track-data-cfg.c
@@ -397,8 +397,13 @@ brasero_track_data_cfg_node_shown (GtkTreeModel *model,
return;
}
+ if (!node)
+ return;
+
+ node->is_visible ++;
+
if (node->parent && !node->parent->is_root) {
- if (!node->parent->is_expanded) {
+ if (!node->parent->is_expanded && node->parent->is_visible > 0) {
GtkTreePath *treepath;
node->parent->is_expanded = TRUE;
@@ -410,11 +415,6 @@ brasero_track_data_cfg_node_shown (GtkTreeModel *model,
}
}
- if (!node)
- return;
-
- node->is_visible ++;
-
if (node->is_imported) {
if (node->is_fake && !node->is_file) {
/* we don't load all nodes when importing a session do it now */
@@ -462,8 +462,12 @@ brasero_track_data_cfg_node_hidden (GtkTreeModel *model,
return;
}
- if (node && node->parent && !node->parent->is_root) {
- if (node->parent->is_expanded) {
+ if (!node)
+ return;
+
+ node->is_visible --;
+ if (node->parent && !node->parent->is_root) {
+ if (node->parent->is_expanded && node->is_visible == 0) {
GtkTreePath *treepath;
GtkTreeIter parent_iter;
@@ -477,10 +481,6 @@ brasero_track_data_cfg_node_hidden (GtkTreeModel *model,
}
}
- if (!node)
- return;
-
- node->is_visible --;
if (node->is_imported)
return;
@@ -2370,11 +2370,11 @@ brasero_track_data_cfg_init (BraseroTrackDataCfg *object)
object);
g_signal_connect (priv->tree,
"unreadable-uri",
- G_CALLBACK (brasero_track_data_cfg_unknown_uri_cb),
+ G_CALLBACK (brasero_track_data_cfg_unreadable_uri_cb),
object);
g_signal_connect (priv->tree,
"unknown-uri",
- G_CALLBACK (brasero_track_data_cfg_unreadable_uri_cb),
+ G_CALLBACK (brasero_track_data_cfg_unknown_uri_cb),
object);
g_signal_connect (priv->tree,
"recursive-sym",
@@ -2468,7 +2468,6 @@ brasero_track_data_cfg_class_init (BraseroTrackDataCfgClass *klass)
1,
G_TYPE_STRING);
-
brasero_track_data_cfg_signals [UNREADABLE] =
g_signal_new ("unreadable_uri",
G_TYPE_FROM_CLASS (klass),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]