[brasero] Try to fix a couple of problems between libisofs and symlinks
- From: Philippe Rouquier <philippr src gnome org>
- To: svn-commits-list gnome org
- Subject: [brasero] Try to fix a couple of problems between libisofs and symlinks
- Date: Fri, 3 Jul 2009 13:12:40 +0000 (UTC)
commit f609343d3a5478b0511176a44382ebfa76644dcf
Author: Philippe Rouquier <bonfire-app wanadoo fr>
Date: Thu Jul 2 11:24:47 2009 +0200
Try to fix a couple of problems between libisofs and symlinks
when 2 symlinks in a directory point to the same target there is an error since mkisofs uses the target name and not the symlink name to check whether the name already exists
plugins/libburnia/burn-libisofs.c | 24 +++++++++++-------------
src/brasero-video-disc.c | 3 ++-
2 files changed, 13 insertions(+), 14 deletions(-)
---
diff --git a/plugins/libburnia/burn-libisofs.c b/plugins/libburnia/burn-libisofs.c
index e9c5f8e..c8ff8ca 100644
--- a/plugins/libburnia/burn-libisofs.c
+++ b/plugins/libburnia/burn-libisofs.c
@@ -1,3 +1,5 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+
/***************************************************************************
* burn-libisofs.c
*
@@ -674,24 +676,19 @@ brasero_libisofs_create_volume_thread (gpointer data)
* children of the parent directory. If there is a
* sibling destroy it. */
sibling = NULL;
- iso_dir_find_children (ISO_DIR (parent),
- iso_new_find_conditions_name (path_name),
- &sibling);
- if (sibling) {
- IsoNode *node;
+ iso_dir_get_children (ISO_DIR (parent), &sibling);
- BRASERO_JOB_LOG (self,
- "Looking for sibling for %s",
- path_name);
+ IsoNode *node;
+ while (iso_dir_iter_next (sibling, &node) == 1) {
+ const gchar *iso_name;
- while (iso_dir_iter_next (sibling, &node) == 1) {
+ /* check if it has the same name */
+ iso_name = iso_node_get_name (node);
+ if (iso_name && !strcmp (iso_name, path_name))
BRASERO_JOB_LOG (self,
"Found sibling for %s: removing %x",
path_name,
iso_dir_iter_remove (sibling));
- }
-
- iso_dir_iter_free (sibling);
}
if (is_directory) {
@@ -733,8 +730,9 @@ brasero_libisofs_create_volume_thread (gpointer data)
IsoNode *node;
int err;
- err = iso_tree_add_node (image,
+ err = iso_tree_add_new_node (image,
ISO_DIR (parent),
+ path_name,
local_path,
&node);
if (err < 0) {
diff --git a/src/brasero-video-disc.c b/src/brasero-video-disc.c
index 5fca219..a571e66 100644
--- a/src/brasero-video-disc.c
+++ b/src/brasero-video-disc.c
@@ -46,6 +46,7 @@
#include "brasero-song-properties.h"
#include "brasero-session-cfg.h"
#include "brasero-track-stream.h"
+#include "brasero-video-options.h"
typedef struct _BraseroVideoDiscPrivate BraseroVideoDiscPrivate;
struct _BraseroVideoDiscPrivate
@@ -1146,7 +1147,7 @@ brasero_video_disc_init (BraseroVideoDisc *object)
priv = BRASERO_VIDEO_DISC_PRIVATE (object);
- mainbox = gtk_vbox_new (FALSE, 12);
+ mainbox = gtk_vbox_new (FALSE, 0);
gtk_widget_show (mainbox);
gtk_box_pack_start (GTK_BOX (object), mainbox, TRUE, TRUE, 0);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]