./hildon-fm/debian r365: * Merge upstream releases from 1:2.0.0 to 1:2.0.5 (up to r591); no API

Loïc Minier lool at dooz.org
Sun Aug 24 17:49:12 UTC 2008


------------------------------------------------------------
revno: 365
committer: Loïc Minier <lool at dooz.org>
branch nick: debian
timestamp: Sun 2008-08-24 19:49:12 +0200
message:
  * Merge upstream releases from 1:2.0.0 to 1:2.0.5 (up to r591); no API
    change.
    - Fix merge conflict in hildon-fm/hildon-file-chooser-dialog.c
      (create_folder_callback): reapply the changes of upstream r562.
    - Upstream changes:
      * Add checks to hildon-file-system-smb.c signal handlers to avoid a crash.
        Fixes: NB#79106
      * Make read-only check insensitive in the Details dialog when the
        permissions can not be changed.
      * Fixes: NB#79697, NB#77225, NB#83593, NB#83955, NB#77409.
      * Add "currently-dragging" property to HildonFileSelection. Related to
        NB#83827
      * Reverted the patch for NB#79697, it made Bookmarks to crash in startup.
      * Fixes: NB#76517, NB#79427, NB#76380, NB#76271, NB#79697.
      * Fixes: NB#76327, NB#74397, NB#75049, NB#80021, NB#81354.
      * Fixes: NB#79056.
      * Re-released 1:1.9.49 as 1:2.0.0 for the Hildon 2.0 release.
modified:
  ChangeLog
  configure.ac
  debian/changelog
  hildon-fm/hildon-file-chooser-dialog.c
  hildon-fm/hildon-file-details-dialog.c
  hildon-fm/hildon-file-selection.c
  hildon-fm/hildon-file-system-mmc.c
  hildon-fm/hildon-file-system-model.c
  hildon-fm/hildon-file-system-old-gateway.c
  hildon-fm/hildon-file-system-private.c
  hildon-fm/hildon-file-system-smb.c
    ------------------------------------------------------------
    revno: 320.1.239
    committer: marivoll
    timestamp: Wed 2008-01-09 10:36:28 +0000
    message:
      libhildonfm (1:2.0.0) unstable; urgency=low
      
        * Re-released 1:1.9.49 as 1:2.0.0 for the Hildon 2.0 release.
      
       -- Marius Vollmer <marius.vollmer at nokia.com>  Wed, 09 Jan 2008 12:32:45 +0200
    modified:
      ChangeLog
      configure.ac
      debian/changelog
    ------------------------------------------------------------
    revno: 320.1.240
    committer: marivoll
    timestamp: Wed 2008-02-20 14:48:12 +0000
    message:
      (no message)
    modified:
      debian/changelog
    ------------------------------------------------------------
    revno: 320.1.241
    committer: marivoll
    timestamp: Wed 2008-02-20 14:49:40 +0000
    message:
      Prepare 2.0.1
    modified:
      configure.ac
      debian/changelog
    ------------------------------------------------------------
    revno: 320.1.242
    committer: marivoll
    timestamp: Wed 2008-02-20 14:51:08 +0000
    message:
      	* hildon-fm/hildon-file-chooser-dialog.c (create_folder_callback):
      	Ignore unexpected handles instead of aborting (N76517).
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-chooser-dialog.c
    ------------------------------------------------------------
    revno: 320.1.243
    committer: marivoll
    timestamp: Wed 2008-02-20 14:54:20 +0000
    message:
      	* hildon-fm/hildon-file-system-smb.c
      	(my_file_folder_collaps_path): Avoid calling strcpy with
      	two pointers into the same string (N79427).
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-system-smb.c
    ------------------------------------------------------------
    revno: 320.1.244
    committer: marivoll
    timestamp: Wed 2008-02-20 14:59:51 +0000
    message:
      	* hildon-fm/hildon-file-chooser-dialog.c (sync_extensions_combo):
      	Do not change the extensions combobox selection if there's already
      	a valid extension selected. (N76380)
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-chooser-dialog.c
    ------------------------------------------------------------
    revno: 320.1.245
    committer: marivoll
    timestamp: Wed 2008-02-20 15:07:15 +0000
    message:
      	* hildon-fm/hildon-file-system-model.c (handle_finished_node): Do
      	not kick nodes that are in the process of being linked (N76271).
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-system-model.c
    ------------------------------------------------------------
    revno: 320.1.246
    committer: marivoll
    timestamp: Wed 2008-02-20 16:34:50 +0000
    message:
      	* hildon-fm/hildon-file-selection.c
      	(hildon_file_selection_matches_current_view): Also recognize a
      	path that has just been deleted (N79697).
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-selection.c
    ------------------------------------------------------------
    revno: 320.1.247
    committer: marivoll
    timestamp: Wed 2008-02-20 16:40:34 +0000
    message:
      	* hildon-fm/hildon-file-system-private.c
      	(_hildon_file_system_compare_ignore_last_separator): actually
      	ignore all appended slashes in both paths instead of just removing
      	one to each. This way paths like upnpav:/// and upnpav:// are
      	equivalent. (N76327)
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-system-private.c
    ------------------------------------------------------------
    revno: 320.1.248
    committer: marivoll
    timestamp: Wed 2008-02-20 16:44:02 +0000
    message:
      	* hildon-fm/hildon-file-chooser-dialog.c
      	(handle_folder_popup): Do not change current name unless there has
      	been actually a change in the subdialog. (N74397)
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-chooser-dialog.c
    ------------------------------------------------------------
    revno: 320.1.249
    committer: marivoll
    timestamp: Wed 2008-02-20 16:47:01 +0000
    message:
      	* hildon-fm/hildon-file-chooser-dialog.c
      	(hildon_file_chooser_entry_changed): save the filename entry
      	content as the internal file name as soon as it changes, so there
      	isn't any mismatch between the internally stored name and the
      	displayed one. (N75049)
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-chooser-dialog.c
    ------------------------------------------------------------
    revno: 320.1.250
    committer: marivoll
    timestamp: Wed 2008-02-20 16:56:36 +0000
    message:
      	(hildon_file_chooser_dialog_create_sub_dialog): Copy "local-only",
      	"show-hidden", and "show-upnp" properties into
      	sub-dialog (N80021).
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-chooser-dialog.c
    ------------------------------------------------------------
    revno: 320.1.251
    committer: marivoll
    timestamp: Fri 2008-02-29 15:39:43 +0000
    message:
      	* hildon-fm/hildon-file-system-mmc.c,
      	hildon-fm/hildon-file-system-old-gateway.c: Avoid using old
      	logical_ids (N81354).
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-system-mmc.c
      hildon-fm/hildon-file-system-old-gateway.c
    ------------------------------------------------------------
    revno: 320.1.252
    committer: marivoll
    timestamp: Thu 2008-03-06 16:30:48 +0000
    message:
      	* hildon-fm/hildon-file-system-smb.c (strchr_reverse): Be more
      	constant.
    modified:
      hildon-fm/hildon-file-system-smb.c
    ------------------------------------------------------------
    revno: 320.1.253
    committer: marivoll
    timestamp: Thu 2008-03-06 16:30:57 +0000
    message:
      	* hildon-fm/hildon-file-system-model.c (get_folder_callback):
      	Reverse order of calls to handle_finished_node and
      	handle_load_error (N79056).
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-system-model.c
    ------------------------------------------------------------
    revno: 320.1.254
    committer: marivoll
    timestamp: Thu 2008-03-06 16:49:45 +0000
    message:
      libhildonfm (1:2.0.1) unstable; urgency=low
      
        * Fixes: NB#76517, NB#79427, NB#76380, NB#76271, NB#79697.
        * Fixes: NB#76327, NB#74397, NB#75049, NB#80021, NB#81354.
        * Fixes: NB#79056.
    modified:
      ChangeLog
      debian/changelog
    ------------------------------------------------------------
    revno: 320.1.255
    committer: marivoll
    timestamp: Thu 2008-03-06 16:54:49 +0000
    message:
      Prepare 2.0.2.
    modified:
      configure.ac
      debian/changelog
    ------------------------------------------------------------
    revno: 320.1.256
    committer: kihamala
    timestamp: Tue 2008-03-18 15:08:18 +0000
    message:
      revert fix for NB#79697
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-selection.c
    ------------------------------------------------------------
    revno: 320.1.257
    committer: kihamala
    timestamp: Tue 2008-03-18 15:32:54 +0000
    message:
      tagging and releasing
    modified:
      debian/changelog
    ------------------------------------------------------------
    revno: 320.1.258
    committer: marivoll
    timestamp: Thu 2008-04-03 17:05:09 +0000
    message:
      	* hildon-fm/hildon-file-selection.c
      	(hildon_file_selection_selection_changed): Use a path for the
      	dir_sort model when getting the row reference from it.
      	(hildon_file_selection_matches_current_view): Return FALSE when
      	the current_folder row reference is invalid.  This happens when
      	the current folder has been deleted (N79697, again).
      	(sort_function): Items with negative sort weight (such as folders)
      	are always sorted by name (N77225).
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-selection.c
    ------------------------------------------------------------
    revno: 320.1.259
    committer: kihamala
    timestamp: Thu 2008-04-17 11:30:56 +0000
    message:
      added "currently-dragging" property
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-selection.c
    ------------------------------------------------------------
    revno: 320.1.260
    committer: marivoll
    timestamp: Thu 2008-04-17 15:56:43 +0000
    message:
      	* hildon-fm/hildon-file-selection.c
      	(_hildon_file_selection_get_current_folder_path): Return the goal
      	uri if we have one (N83593).
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-selection.c
    ------------------------------------------------------------
    revno: 320.1.261
    committer: marivoll
    timestamp: Thu 2008-04-17 15:59:46 +0000
    message:
      	(drag_data_get): Don't pass NULL to
      	gtk_selection_data_set_uris (N83955).
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-selection.c
    ------------------------------------------------------------
    revno: 320.1.262
    committer: marivoll
    timestamp: Thu 2008-04-17 16:12:11 +0000
    message:
      	Permissions are only changed when closing the dialog, not
      	immediately when toggling the checkbox (N77409).
      
      	* hildon-fm/hildon-file-details-dialog.c
      	(hildon_file_details_dialog_read_only_toggled): Removed.
      	(hildon_file_details_dialog_init): Don't connect it.
      	(hildon_file_details_dialog_response): Call change_state here.
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-details-dialog.c
    ------------------------------------------------------------
    revno: 320.1.263
    committer: marivoll
    timestamp: Thu 2008-04-17 16:20:14 +0000
    message:
      libhildonfm (1:2.0.3) unstable; urgency=low
      
        * Fixes: NB#79697, NB#77225, NB#83593, NB#83955, NB#77409.
        * Add "currently-dragging" property to HildonFileSelection. Related to
          NB#83827
      
       -- Marius Vollmer <marius.vollmer at nokia.com>  Thu, 17 Apr 2008 19:17:28 +0300
    modified:
      ChangeLog
      debian/changelog
    ------------------------------------------------------------
    revno: 320.1.264
    committer: marivoll
    timestamp: Thu 2008-04-17 16:21:30 +0000
    message:
      Prepare 2.0.4.
    modified:
      configure.ac
      debian/changelog
    ------------------------------------------------------------
    revno: 320.1.265
    committer: marivoll
    timestamp: Wed 2008-04-23 14:13:52 +0000
    message:
      	* hildon-fm/hildon-file-details-dialog.c (change_state): Don't use
      	the dialog as the parent for showing the information banner, it is
      	already gone.
      	(can_change_permissions): New.
      	(hildon_file_details_dialog_set_file_iter): Use it to set the
      	sensitivity of the read-only checkbox.
    modified:
      ChangeLog
      hildon-fm/hildon-file-details-dialog.c
    ------------------------------------------------------------
    revno: 320.1.266
    committer: marivoll
    timestamp: Wed 2008-04-23 14:22:33 +0000
    message:
      libhildonfm (1:2.0.4) unstable; urgency=low
      
        * Make read-only check insensitive in the Details dialog when the
          permissions can not be changed.
      
       -- Marius Vollmer <marius.vollmer at nokia.com>  Thu, 17 Apr 2008 19:18:13 +0300
    modified:
      ChangeLog
      debian/changelog
    ------------------------------------------------------------
    revno: 320.1.267
    committer: marivoll
    timestamp: Wed 2008-04-23 14:24:31 +0000
    message:
      Prepare 2.0.5
    modified:
      configure.ac
      debian/changelog
    ------------------------------------------------------------
    revno: 320.1.268
    committer: kihamala
    timestamp: Thu 2008-04-24 09:52:33 +0000
    message:
      patch for 79106
    modified:
      ChangeLog
      debian/changelog
      hildon-fm/hildon-file-system-smb.c
    ------------------------------------------------------------
    revno: 320.1.269
    committer: kihamala
    timestamp: Thu 2008-04-24 09:56:45 +0000
    message:
      added credit
    modified:
      ChangeLog
    ------------------------------------------------------------
    revno: 320.1.270
    committer: marivoll
    timestamp: Thu 2008-04-24 09:57:41 +0000
    message:
      	Show information banner when tapping a insensitive read-only
      	checkbox.
      
      	* hildon-fm/hildon-file-details-dialog.c (can_change_permissions)
      	(guess_change_permissions_result): Renamed former to latter.
      	Return result code instead of boolean success flag.
      	(permissions_insensitive_press): New.
      	(hildon_file_details_dialog_init): Connect it.
      	(hildon_file_details_dialog_set_file_iter): Remember result code
      	for permission changes for permissions_insensitive_press.
    modified:
      ChangeLog
      hildon-fm/hildon-file-details-dialog.c
    ------------------------------------------------------------
    revno: 320.1.271
    committer: kihamala
    timestamp: Mon 2008-04-28 15:25:07 +0000
    message:
      releasing
    modified:
      ChangeLog
      debian/changelog
-------------- next part --------------
=== modified file 'ChangeLog'
--- a/ChangeLog	2007-11-16 17:12:31 +0000
+++ b/ChangeLog	2008-04-28 15:25:07 +0000
@@ -1,3 +1,146 @@
+2008-04-28  Kimmo Hämäläinen  <kimmo.hamalainen at nokia.com>
+
+	Released 2.0.5
+
+2008-04-24  Marius Vollmer  <marius.vollmer at nokia.com>
+
+	Show information banner when tapping a insensitive read-only
+	checkbox.
+
+	* hildon-fm/hildon-file-details-dialog.c (can_change_permissions)
+	(guess_change_permissions_result): Renamed former to latter.
+	Return result code instead of boolean success flag.
+	(permissions_insensitive_press): New.
+	(hildon_file_details_dialog_init): Connect it.
+	(hildon_file_details_dialog_set_file_iter): Remember result code
+	of permission changes for permissions_insensitive_press.
+
+2008-04-24  Kimmo Hämäläinen  <kimmo.hamalainen at nokia.com>
+
+	* hildon-fm/hildon-file-system-smb.c
+	(my_file_folder_child_files_added): Add MY_IS_FILE_FOLDER() check.
+	(my_file_folder_child_folder_added): Add MY_IS_FILE_FOLDER() check.
+	Patch from Valentin. Fixes: NB#79106
+
+2008-04-23  Marius Vollmer  <marius.vollmer at nokia.com>
+
+	Released 2.0.4
+
+	* hildon-fm/hildon-file-details-dialog.c (change_state): Don't use
+	the dialog as the parent for showing the information banner, it is
+	already gone.
+	(can_change_permissions): New.
+	(hildon_file_details_dialog_set_file_iter): Use it to set the
+	sensitivity of the read-only checkbox.
+
+2008-04-17  Marius Vollmer  <marius.vollmer at nokia.com>
+
+	Released 2.0.3
+
+	Permissions are only changed when closing the dialog, not
+	immediately when toggling the checkbox (N77409).
+
+	* hildon-fm/hildon-file-details-dialog.c
+	(hildon_file_details_dialog_read_only_toggled): Removed.
+	(hildon_file_details_dialog_init): Don't connect it.
+	(hildon_file_details_dialog_response): Call change_state here.
+
+	* hildon-fm/hildon-file-selection.c
+	(_hildon_file_selection_get_current_folder_path): Return the goal
+	uri if we have one (N83593).
+	(drag_data_get): Don't pass NULL to
+	gtk_selection_data_set_uris (N83955).
+
+2008-04-17  Kimmo Hämäläinen  <kimmo.hamalainen at nokia.com>
+
+	* hildon-fm/hildon-file-selection.c: Add new property PROP_DRAGGING
+	and currently_dragging member for it to _HildonFileSelectionPrivate
+	struct.
+	(hildon_file_selection_get_property): Add PROP_DRAGGING.
+	(hildon_file_selection_set_property): Add PROP_DRAGGING.
+	(hildon_file_selection_class_init): Add "currently-dragging" property.
+	(drag_begin): Set currently_dragging to TRUE.
+	(drag_end): New function. Set currently_dragging to FALSE.
+	(hildon_file_selection_setup_dnd_view): Connect drag_end() to
+	"drag-end" signal. Related to NB#83827
+
+2008-04-03  Marius Vollmer  <marius.vollmer at nokia.com>
+
+	* hildon-fm/hildon-file-selection.c
+	(hildon_file_selection_selection_changed): Use a path for the
+	dir_sort model when getting the row reference from it.
+	(hildon_file_selection_matches_current_view): Return FALSE when
+	the current_folder row reference is invalid.  This happens when
+	the current folder has been deleted (N79697, again).
+	(sort_function): Items with negative sort weight (such as folders)
+	are always sorted by name (N77225).
+
+2008-18-03  Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>
+
+	* hildon-fm/hildon-file-selection.c
+	(hildon_file_selection_matches_current_view): Revert patch to fix
+	N79697. It made Bookmarks to jam and then crash.
+
+2008-03-06  Marius Vollmer  <marius.vollmer at nokia.com>
+
+	Released 2.0.1
+
+	* hildon-fm/hildon-file-system-smb.c (strchr_reverse): Be more
+	constant.
+
+	* hildon-fm/hildon-file-system-model.c (get_folder_callback):
+	Reverse order of calls to handle_finished_node and
+	handle_load_error (N79056).
+
+2008-02-29  Marius Vollmer  <marius.vollmer at nokia.com>
+
+	* hildon-fm/hildon-file-system-mmc.c,
+	hildon-fm/hildon-file-system-old-gateway.c: Avoid using old
+	logical_ids (N81354).
+
+2008-02-20  Marius Vollmer  <marius.vollmer at nokia.com>
+
+	* hildon-fm/hildon-file-chooser-dialog.c
+	(hildon_file_chooser_entry_changed): save the filename entry
+	content as the internal file name as soon as it changes, so there
+	isn't any mismatch between the internally stored name and the
+	displayed one. (N75049)
+	(hildon_file_chooser_dialog_create_sub_dialog): Copy "local-only",
+	"show-hidden", and "show-upnp" properties into
+	sub-dialog (N80021).
+
+	* hildon-fm/hildon-file-chooser-dialog.c
+	(handle_folder_popup): Do not change current name unless there has
+	been actually a change in the subdialog. (N74397)
+
+	* hildon-fm/hildon-file-system-private.c
+	(_hildon_file_system_compare_ignore_last_separator): actually
+	ignore all appended slashes in both paths instead of just removing
+	one to each. This way paths like upnpav:/// and upnpav:// are
+	equivalent. (N76327)
+
+	* hildon-fm/hildon-file-selection.c
+	(hildon_file_selection_matches_current_view): Also recognize a
+	path that has just been deleted (N79697).
+	
+	* hildon-fm/hildon-file-system-model.c (handle_finished_node): Do
+	not kick nodes that are in the process of being linked (N76271).
+
+	* hildon-fm/hildon-file-chooser-dialog.c (sync_extensions_combo):
+	Do not change the extensions combobox selection if there's already
+	a valid extension selected. (N76380)
+
+	* hildon-fm/hildon-file-system-smb.c
+	(my_file_folder_collaps_path): Avoid calling strcpy with
+	two pointers into the same string (N79427).
+
+	* hildon-fm/hildon-file-chooser-dialog.c (create_folder_callback):
+	Ignore unexpected handles instead of aborting (N76517).
+
+2008-01-09  Marius Vollmer  <marius.vollmer at nokia.com>
+
+	Released 1.9.49 again as 2.0.0 for the Hildon 2.0 release.
+
 2007-11-16  Marius Vollmer  <marius.vollmer at nokia.com>
 
 	Released 1.9.49

=== modified file 'configure.ac'
--- a/configure.ac	2007-12-27 09:54:51 +0000
+++ b/configure.ac	2008-08-24 17:49:12 +0000
@@ -1,5 +1,5 @@
 AC_INIT(hildon-fm/hildon-file-system-model.c)
-AM_INIT_AUTOMAKE(libhildonfm, 1.9.49)
+AM_INIT_AUTOMAKE(libhildonfm, 2.0.5)
 AM_CONFIG_HEADER(config.h)
 
 AC_CANONICAL_HOST

=== modified file 'debian/changelog'
--- a/debian/changelog	2008-01-08 22:17:49 +0000
+++ b/debian/changelog	2008-08-24 17:49:12 +0000
@@ -1,3 +1,54 @@
+libhildonfm (1:2.0.5.debian-1) UNRELEASED; urgency=low
+
+  * Merge upstream releases from 1:2.0.0 to 1:2.0.5 (up to r591); no API
+    change.
+    - Fix merge conflict in hildon-fm/hildon-file-chooser-dialog.c
+      (create_folder_callback): reapply the changes of upstream r562.
+
+ -- Loic Minier <lool at dooz.org>  Sun, 24 Aug 2008 19:32:37 +0200
+
+libhildonfm (1:2.0.5) unstable; urgency=low
+
+  * Add checks to hildon-file-system-smb.c signal handlers to avoid a crash.
+    Fixes: NB#79106
+
+ -- Marius Vollmer <marius.vollmer at nokia.com>  Wed, 23 Apr 2008 17:21:24 +0300
+
+libhildonfm (1:2.0.4) unstable; urgency=low
+
+  * Make read-only check insensitive in the Details dialog when the
+    permissions can not be changed.
+
+ -- Marius Vollmer <marius.vollmer at nokia.com>  Thu, 17 Apr 2008 19:18:13 +0300
+
+libhildonfm (1:2.0.3) unstable; urgency=low
+
+  * Fixes: NB#79697, NB#77225, NB#83593, NB#83955, NB#77409.
+  * Add "currently-dragging" property to HildonFileSelection. Related to
+    NB#83827
+
+ -- Marius Vollmer <marius.vollmer at nokia.com>  Thu, 17 Apr 2008 19:17:28 +0300
+
+libhildonfm (1:2.0.2) unstable; urgency=low
+
+  * Reverted the patch for NB#79697, it made Bookmarks to crash in startup.
+
+ -- Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>  Tue, 18 Mar 2008 16:56:44 +0200
+
+libhildonfm (1:2.0.1) unstable; urgency=low
+
+  * Fixes: NB#76517, NB#79427, NB#76380, NB#76271, NB#79697.
+  * Fixes: NB#76327, NB#74397, NB#75049, NB#80021, NB#81354.
+  * Fixes: NB#79056.
+
+ -- Marius Vollmer <marius.vollmer at nokia.com>  Thu, 06 Mar 2008 18:42:34 +0200
+
+libhildonfm (1:2.0.0) unstable; urgency=low
+
+  * Re-released 1:1.9.49 as 1:2.0.0 for the Hildon 2.0 release.
+
+ -- Marius Vollmer <marius.vollmer at nokia.com>  Wed, 09 Jan 2008 12:32:45 +0200
+
 libhildonfm (1:1.9.49.debian-1) unstable; urgency=low
 
   [ Loic Minier ]

=== modified file 'hildon-fm/hildon-file-chooser-dialog.c'
--- a/hildon-fm/hildon-file-chooser-dialog.c	2007-12-28 01:57:34 +0000
+++ b/hildon-fm/hildon-file-chooser-dialog.c	2008-08-24 17:49:12 +0000
@@ -437,9 +437,9 @@
 hildon_file_chooser_dialog_do_autonaming(HildonFileChooserDialogPrivate *
                                          priv)
 {
+    gboolean changed;
+
     g_assert(HILDON_IS_FILE_SELECTION(priv->filetree));
-	
-	gboolean changed;
 
     if (GTK_WIDGET_VISIBLE(priv->caption_control_name) &&
         priv->stub_name && priv->stub_name[0] && !priv->edited)
@@ -1207,13 +1207,23 @@
                                                   action)
 {
     GtkWidget *dialog;
+    gboolean local_only = FALSE;
+    gboolean show_hidden = FALSE;
+    gboolean show_upnp = TRUE;
+    
+    g_object_get (self->priv->filetree, "local-only", &local_only, NULL);
+    g_object_get (self->priv->filetree, "show-hidden", &show_hidden, NULL);
+    g_object_get (self->priv->filetree, "show-upnp", &show_upnp, NULL);
 
-    dialog =
-        hildon_file_chooser_dialog_new_with_properties(GTK_WINDOW(self),
-                                                       "action", action,
-                                                       "file-system-model",
-                                                       self->priv->model,
-                                                       NULL);
+    dialog = hildon_file_chooser_dialog_new_with_properties
+      (GTK_WINDOW(self),
+       "action", action,
+       "file-system-model",
+       self->priv->model, 
+       "local-only", local_only,
+       "show-hidden", show_hidden,
+       "show-upnp", show_upnp,
+       NULL);
     gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
     sync_current_folders(self, HILDON_FILE_CHOOSER_DIALOG(dialog));
 
@@ -1229,7 +1239,12 @@
 
     g_assert(HILDON_IS_FILE_CHOOSER_DIALOG(data));
     self = HILDON_FILE_CHOOSER_DIALOG(data);
-    g_assert(self->priv->create_folder_handle == handle);
+
+    /* There can be still pending cancelled handles
+     * from previous operations, just ignore them
+     */
+    if (self->priv->create_folder_handle != handle)
+	    return;
 
     self->priv->create_folder_handle = NULL;
     dialog = GTK_DIALOG(self);
@@ -1259,6 +1274,7 @@
   GtkWidget *dialog;
   gint response;
   gchar *uri = NULL;
+  gboolean edit_entry = FALSE;
 
   g_return_if_fail(HILDON_IS_FILE_CHOOSER_DIALOG(self));
 
@@ -1273,14 +1289,6 @@
 
   self->priv->popup_protect = TRUE;
 
-  if (self->priv->edited)
-  {
-    self->priv->edited = FALSE;
-    hildon_file_chooser_dialog_set_current_name 
-      (GTK_FILE_CHOOSER(self),
-       get_entry (self->priv->entry_name, self->priv->ext_name));
-  }
-
   backend = _hildon_file_system_model_get_file_system(self->priv->model);
 
   if (self->priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
@@ -1335,6 +1343,7 @@
 			hildon_file_selection_move_cursor_to_uri (self->priv->filetree, 
 								  uri);
 		}
+	edit_entry = TRUE;
       }
     gtk_file_path_free(file_path);
   }
@@ -1344,7 +1353,18 @@
                GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
 
     if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK)
-      sync_current_folders(HILDON_FILE_CHOOSER_DIALOG(dialog), self);
+      {
+        sync_current_folders(HILDON_FILE_CHOOSER_DIALOG(dialog), self);
+	edit_entry = TRUE;
+      }
+  }
+
+  if (edit_entry && self->priv->edited)
+  {
+    self->priv->edited = FALSE;
+    hildon_file_chooser_dialog_set_current_name 
+      (GTK_FILE_CHOOSER(self),
+       get_entry (self->priv->entry_name, self->priv->ext_name));
   }
 
   gtk_widget_destroy(dialog);
@@ -1946,6 +1966,10 @@
 
     priv = HILDON_FILE_CHOOSER_DIALOG( data )->priv;
     priv->edited = TRUE;
+
+    g_free (priv->stub_name);
+    priv->stub_name = g_strdup (gtk_entry_get_text (GTK_ENTRY (widget)));
+
     gtk_dialog_set_response_sensitive(GTK_DIALOG(data),
 		    		      GTK_RESPONSE_OK,
     				      strlen(gtk_entry_get_text(GTK_ENTRY(widget))) > 0);
@@ -2260,6 +2284,20 @@
 
       model = gtk_combo_box_get_model (GTK_COMBO_BOX (priv->extensions_combo));
 
+      /* if there is a valid extension selected, just leave it */
+      if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (priv->extensions_combo), &iter))
+        {
+	  gboolean matches;
+	  gchar *ext;
+
+	  gtk_tree_model_get (model, &iter, 1, &ext, -1);
+	  matches = (strcmp (ext, priv->ext_name + 1) == 0);
+	  g_free (ext);
+
+	  if (matches)
+	    return;
+	}
+
       i = 0;
       valid = gtk_tree_model_get_iter_first (model, &iter);
       while (valid)

=== modified file 'hildon-fm/hildon-file-details-dialog.c'
--- a/hildon-fm/hildon-file-details-dialog.c	2007-10-08 17:46:38 +0000
+++ b/hildon-fm/hildon-file-details-dialog.c	2008-04-24 09:57:41 +0000
@@ -71,6 +71,8 @@
     GtkWidget *ok_button;
     GtkWidget *scroll;
 
+    GnomeVFSResult change_permissions_result;
+
     GtkTreeRowReference *active_file;
     gboolean checkbox_original_state;
     gulong toggle_handler;
@@ -147,6 +149,27 @@
   return result;
 }
 
+static GnomeVFSResult guess_change_permissions_result (const gchar *uri)
+{
+  GnomeVFSFileInfo *info;
+  gboolean result;
+
+  /* Get information about file */
+  info = gnome_vfs_file_info_new ();
+  result = gnome_vfs_get_file_info (uri, info, GNOME_VFS_FILE_INFO_DEFAULT);
+  if (result == GNOME_VFS_OK)
+    {
+      if (info->valid_fields & GNOME_VFS_FILE_INFO_FIELDS_PERMISSIONS)
+	result = gnome_vfs_set_file_info (uri, info,
+					  GNOME_VFS_SET_FILE_INFO_PERMISSIONS);
+      else
+	result = GNOME_VFS_ERROR_GENERIC;
+    }
+
+  gnome_vfs_file_info_unref(info);
+  return result;
+}
+
 /* When model deletes a file, we check if our reference is still valid.
    If not, we emit response, which usually closes the dialog */
 static void check_validity(GtkTreeModel *model,
@@ -197,9 +220,9 @@
     }
 
     if (result != GNOME_VFS_OK)
-      hildon_banner_show_information (GTK_WIDGET (self), NULL,
-                                      gnome_vfs_result_to_string (result));
-
+      hildon_banner_show_information (NULL, NULL,
+				      gnome_vfs_result_to_string (result));
+    
     gnome_vfs_file_info_unref(info);
     g_free(uri);
   }
@@ -209,7 +232,7 @@
 static void
 hildon_file_details_dialog_response(GtkDialog *dialog, gint response_id)
 {
-    if (response_id == GTK_RESPONSE_CANCEL)
+    if (response_id == GTK_RESPONSE_OK)
     {
       HildonFileDetailsDialog *self;
       gboolean state;
@@ -218,18 +241,11 @@
       state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self->priv->file_readonly));
 
       if (state != self->priv->checkbox_original_state)
-        change_state(self, self->priv->checkbox_original_state);
+        change_state(self, state);
     }
 }
 
 static void
-hildon_file_details_dialog_read_only_toggled(GtkWidget *widget, gpointer data)
-{
-  change_state(HILDON_FILE_DETAILS_DIALOG(data),
-    gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
-}
-
-static void
 hildon_file_details_dialog_map(GtkWidget *widget)
 {
   HildonFileDetailsDialogPrivate *priv;
@@ -253,6 +269,16 @@
 }
 
 static void
+permissions_insensitive_press (GtkWidget *widget, gpointer data)
+{
+  HildonFileDetailsDialog* self = HILDON_FILE_DETAILS_DIALOG (data);
+  const char *msg 
+    = gnome_vfs_result_to_string (self->priv->change_permissions_result);
+
+  hildon_banner_show_information (GTK_WIDGET (self), NULL, msg);
+}
+
+static void
 hildon_file_details_dialog_class_init(HildonFileDetailsDialogClass * klass)
 {
     GObjectClass *gobject_class;
@@ -369,6 +395,8 @@
     priv->file_date = g_object_new(GTK_TYPE_LABEL,"xalign", 0.0f, NULL);
     priv->file_time = g_object_new(GTK_TYPE_LABEL, "xalign", 0.0f, NULL);
     priv->file_readonly = gtk_check_button_new();
+    g_signal_connect (priv->file_readonly, "insensitive-press",
+		      G_CALLBACK (permissions_insensitive_press), self);
 
     hbox_type = gtk_hbox_new (FALSE, HILDON_MARGIN_DEFAULT);
     hbox_location = gtk_hbox_new(FALSE, HILDON_MARGIN_DEFAULT);
@@ -481,10 +509,6 @@
     gtk_dialog_add_button(GTK_DIALOG(self),
                           _("sfil_bd_filetype_details_dialog_cancel"),
                           GTK_RESPONSE_CANCEL);
-
-    priv->toggle_handler = g_signal_connect(priv->file_readonly, "toggled",
-      G_CALLBACK(hildon_file_details_dialog_read_only_toggled),
-      self);
     
     gtk_widget_set_size_request (GTK_WIDGET (self), 400, -1);
 	g_signal_connect (G_OBJECT (self), "show",
@@ -874,9 +898,13 @@
   g_signal_handler_block(self->priv->file_readonly, self->priv->toggle_handler);
 
   gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self->priv->file_readonly),
-    location_readonly || !write_access(uri));
-  gtk_widget_set_sensitive(self->priv->file_readonly, !location_readonly);
+			       location_readonly || !write_access(uri));
 
+  self->priv->change_permissions_result =
+    guess_change_permissions_result (uri);
+  gtk_widget_set_sensitive(self->priv->file_readonly,
+			   (self->priv->change_permissions_result
+			    == GNOME_VFS_OK));
   self->priv->checkbox_original_state = gtk_toggle_button_get_active(
         GTK_TOGGLE_BUTTON(self->priv->file_readonly));
 

=== modified file 'hildon-fm/hildon-file-selection.c'
--- a/hildon-fm/hildon-file-selection.c	2007-12-27 09:54:51 +0000
+++ b/hildon-fm/hildon-file-selection.c	2008-08-24 17:49:12 +0000
@@ -129,7 +129,8 @@
     PROP_SAFE_FOLDER,
     PROP_ACTIVE_PANE,
     PROP_SHOW_UPNP,
-    PROP_PANE_POSITION
+    PROP_PANE_POSITION,
+    PROP_DRAGGING
 };
 
 struct _HildonFileSelectionPrivate {
@@ -184,6 +185,7 @@
     gboolean local_only;
     gboolean show_hidden;
     gboolean show_upnp;
+    gboolean currently_dragging;
     GtkFilePath *safe_folder;
 
     gchar **drag_data_uris;
@@ -737,6 +739,9 @@
         return diff;
     }
 
+    /* In case of fodlers sort only by name */
+    if (weight_a < 0) key = HILDON_FILE_SELECTION_SORT_NAME;
+
     if (key == HILDON_FILE_SELECTION_SORT_MODIFIED) {
         GtkFileTime time_a, time_b;
 		gint retval;
@@ -771,7 +776,7 @@
 
     /* Sort by name. This allways applies for directories and also for
        files when name sorting is selected */
-    if (weight_a < 0 || key == HILDON_FILE_SELECTION_SORT_NAME) {
+    if (key == HILDON_FILE_SELECTION_SORT_NAME) {
         gchar *title_a, *title_b;
         gint value;
 
@@ -930,7 +935,9 @@
       gtk_paned_set_position (GTK_PANED (priv->hpaned), 
 			      g_value_get_int (value));
       break;
-
+    case PROP_DRAGGING:
+      ULOG_ERR_F("PROP_DRAGGING is a read-only property");
+      break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
         break;
@@ -977,6 +984,9 @@
         g_value_set_int (value, 
 			 gtk_paned_get_position (GTK_PANED (priv->hpaned)));
 	break;
+    case PROP_DRAGGING:
+	g_value_set_boolean(value, priv->currently_dragging);
+	break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
         break;
@@ -1199,6 +1209,11 @@
 			"the both panes",
                         0, INT_MAX, 250,
 			G_PARAM_CONSTRUCT | G_PARAM_READWRITE));
+
+    g_object_class_install_property(object, PROP_DRAGGING,
+      g_param_spec_boolean("currently-dragging", "Currently dragging",
+                           "Whether or not dragging is ongoing",
+                           FALSE, G_PARAM_READABLE));
 }
 
 static gboolean
@@ -1240,14 +1255,17 @@
 {
     if (GTK_IS_TREE_MODEL_FILTER(priv->view_filter)) {
         GtkTreePath *current_path;
-        gint result;
+        gint result = 1;
 
         g_object_get(priv->view_filter, "virtual-root", &current_path,
                      NULL);
 
         g_assert(current_path); /* Content pane should always have root
                                    (no local device level allowed) */
-        result = gtk_tree_path_compare(path, current_path);
+        if (!gtk_tree_path_compare(path, current_path) && gtk_tree_row_reference_valid(priv->current_folder)) 
+                /* after deleting a folder the new and current (deleted) paths are same 
+                   but current_folder is invalid for the current (deleted) row */
+                result = 0;
         gtk_tree_path_free(current_path);
 
         return (result == 0);
@@ -1546,7 +1564,7 @@
     if (gtk_tree_selection_get_selected(selection, &model, &iter)) {
 
         GtkTreeIter sort_iter, main_iter;
-        GtkTreePath *sort_path;
+        GtkTreePath *sort_path, *dir_sort_path;
 
         g_assert(model == priv->dir_filter
           && GTK_IS_TREE_MODEL_FILTER(model));
@@ -1559,11 +1577,13 @@
                                                        &sort_iter);
             sort_path =
                 gtk_tree_model_get_path(priv->main_model, &main_iter);
+            dir_sort_path = gtk_tree_model_get_path(priv->dir_sort, &sort_iter);
 
             /* Check that we have actually changed the folder */
             if (hildon_file_selection_matches_current_view(priv, sort_path))
             {
                 gtk_tree_path_free(sort_path);
+                gtk_tree_path_free(dir_sort_path);
                 ULOG_INFO("Current folder re-selected => Asked to reload (if on gateway)");
                 _hildon_file_system_model_queue_reload(
                     HILDON_FILE_SYSTEM_MODEL(priv->main_model),
@@ -1582,7 +1602,8 @@
             }
 
             gtk_tree_row_reference_free (priv->current_folder);
-            priv->current_folder = gtk_tree_row_reference_new(priv->dir_sort, sort_path);
+            priv->current_folder = gtk_tree_row_reference_new(priv->dir_sort, dir_sort_path);
+            gtk_tree_path_free(dir_sort_path);
 
         if (hildon_file_selection_content_pane_visible(priv)) {
 	    gint sort_column = GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID;
@@ -2728,6 +2749,8 @@
 
     /* We do not want GtkTreeView to create the default drag cursor */
     g_signal_stop_emission_by_name(widget, "drag-begin");
+
+    self->priv->currently_dragging = TRUE;
 }
 
 static void drag_data_get(GtkWidget * widget,
@@ -2741,7 +2764,9 @@
 
   /* We use only uri-list internally, but somebody else
      can use text format as well. */
-  if (!gtk_selection_data_set_uris(selection_data, self->priv->drag_data_uris))
+  if (!self->priv->drag_data_uris
+      || !gtk_selection_data_set_uris(selection_data,
+				      self->priv->drag_data_uris))
   {
     gchar *plain = g_strjoinv("\n", self->priv->drag_data_uris);
     gtk_selection_data_set_text(selection_data, plain, -1);
@@ -2842,6 +2867,14 @@
     return valid_location;
 }
 
+static void drag_end(GtkWidget *widget, GdkDragContext *context,
+                     gpointer user_data)
+{
+  HildonFileSelectionPrivate *priv;
+  priv = HILDON_FILE_SELECTION(user_data)->priv;
+  priv->currently_dragging = FALSE;
+}
+
 static gboolean drag_drop(GtkWidget *widget, GdkDragContext *context,
   gint x, gint y, guint time, gpointer user_data)
 {
@@ -2891,6 +2924,8 @@
     g_signal_connect_object(view, "drag-drop", G_CALLBACK(drag_drop),
       self, G_CONNECT_AFTER);
 
+    g_signal_connect_object(view, "drag-end", G_CALLBACK(drag_end), self, 0);
+
     /* We don't connect "drag-data-delete", because file system
        notifications tell us about what to update */
     /* g_signal_connect(view, "drag-data-delete",
@@ -3458,7 +3493,14 @@
 _hildon_file_selection_get_current_folder_path (HildonFileSelection *self)
 {
   GtkTreeIter iter;
+  HildonFileSystemModel *model =
+    HILDON_FILE_SYSTEM_MODEL(self->priv->main_model);
 
+  if (self->priv->cursor_goal_uri)
+    return (gtk_file_system_uri_to_path
+	    (_hildon_file_system_model_get_file_system(model),
+	     self->priv->cursor_goal_uri));
+ 
   if (hildon_file_selection_get_current_folder_iter(self, &iter)) {
     GtkFilePath *path;
 

=== modified file 'hildon-fm/hildon-file-system-mmc.c'
--- a/hildon-fm/hildon-file-system-mmc.c	2007-05-23 11:13:25 +0000
+++ b/hildon-fm/hildon-file-system-mmc.c	2008-02-29 15:39:43 +0000
@@ -286,14 +286,6 @@
           return g_strdup (KE("card_ib_memory_card_corrupted"));
         }
 
-        if (is_connected && mmc_is_used)
-        {
-              return g_strdup (_("sfil_ib_mmc_usb_connected"));
-        }
-          else
-        {
-          return g_strdup (_("hfil_ib_mmc_not_present"));
-        }
     }
 
     return NULL;

=== modified file 'hildon-fm/hildon-file-system-model.c'
--- a/hildon-fm/hildon-file-system-model.c	2007-11-09 13:58:28 +0000
+++ b/hildon-fm/hildon-file-system-model.c	2008-03-06 16:30:57 +0000
@@ -88,9 +88,10 @@
     HildonFileSystemModel *model;
     HildonThumbnailFactoryHandle thumbnail_handle;
     time_t load_time;
-    gboolean present_flag : 1;
-    gboolean available : 1; /* Set by code */
-    gboolean accessed : 1;  /* Replaces old gateway_accessed from model */
+    guint present_flag : 1;
+    guint available : 1; /* Set by code */
+    guint accessed : 1;  /* Replaces old gateway_accessed from model */
+    guint linking : 1; /* whether it's being linked */
     GError *error;      /* Set if cannot get children */
     gchar *thumb_title, *thumb_author;
     HildonFileSystemSpecialLocation *location;
@@ -238,7 +239,8 @@
       /* We do not want to ever kick permanent special locations. */
       
       if (model_node->present_flag
-	  || (model_node->location && model_node->location->permanent))
+	  || (model_node->location && model_node->location->permanent) ||
+	      model_node->linking)
 	child_node = g_node_next_sibling(child_node);
       else
 	child_node = hildon_file_system_model_kick_node(child_node, model);
@@ -1487,6 +1489,7 @@
   model_node->get_folder_handle = NULL;
   model_node->folder = folder;
   model_node->error = error? g_error_copy (error) : NULL;
+  model_node->linking = FALSE;
 
   if (folder == NULL)
     {
@@ -1503,8 +1506,8 @@
   
   if (model_node->error)
     {
+      handle_finished_node (node);
       handle_load_error (node);
-      handle_finished_node (node);
       return;
     }
 
@@ -1595,6 +1598,7 @@
   g_assert(HILDON_IS_FILE_SYSTEM_MODEL(model));
 
   model_node->load_time = time(NULL);
+  model_node->linking = TRUE;
 
   ULOG_INFO_F("%s", (char *) path);
 
@@ -1642,6 +1646,7 @@
     {
       ULOG_ERR_F ("Failed to create monitor for path %s", (char *) path);
       DBG ("Failed to create monitor for path %s", (char *) path);
+      model_node->linking = FALSE;
       free_handle_data (handle_data);
       return FALSE;
     }

=== modified file 'hildon-fm/hildon-file-system-old-gateway.c'
--- a/hildon-fm/hildon-file-system-old-gateway.c	2007-09-04 13:59:57 +0000
+++ b/hildon-fm/hildon-file-system-old-gateway.c	2008-02-29 15:39:43 +0000
@@ -157,11 +157,6 @@
         gtk_file_system_volume_free (fs, vol);
     }
 
-    if (!name)
-    {
-        name =  g_strdup (_("sfil_li_gateway_root"));
-    }
-
     return name;
 }
 
@@ -205,7 +200,7 @@
     }
     else if (!gateway->available)
     {
-        return g_strdup (_("sfil_ib_no_connection_support"));
+        return g_strdup (_("sfil_ib_cannot_connect_device"));
     }
 
     return NULL;

=== modified file 'hildon-fm/hildon-file-system-private.c'
--- a/hildon-fm/hildon-file-system-private.c	2007-11-01 16:53:56 +0000
+++ b/hildon-fm/hildon-file-system-private.c	2008-02-20 16:40:34 +0000
@@ -74,9 +74,10 @@
     len_a = strlen(a);
     len_b = strlen(b);
 
-    if (len_a > 1 && a[len_a - 1] == G_DIR_SEPARATOR)
+    while (len_a > 1 && a[len_a - 1] == G_DIR_SEPARATOR)
       len_a--;
-    if (len_b > 1 && b[len_b - 1] == G_DIR_SEPARATOR)
+
+    while (len_b > 1 && b[len_b - 1] == G_DIR_SEPARATOR)
       len_b--;
 
     if (len_a != len_b)

=== modified file 'hildon-fm/hildon-file-system-smb.c'
--- a/hildon-fm/hildon-file-system-smb.c	2007-11-01 13:37:22 +0000
+++ b/hildon-fm/hildon-file-system-smb.c	2008-04-24 09:52:33 +0000
@@ -354,8 +354,8 @@
   return TRUE;
 }
 
-static char *
-strchr_reverse (char *front, char *start, char ch)
+static const char *
+strchr_reverse (const char *front, const char *start, char ch)
 {
   if (front == NULL)
     return NULL;
@@ -381,11 +381,11 @@
 
   const char *str = gtk_file_path_get_string (from);
   char *new_str = g_strdup (str);
-  char *last_slash = strchr_reverse (new_str, NULL, '/');
-  char *second_last_slash = strchr_reverse (new_str, last_slash, '/');
+  const char *last_slash = strchr_reverse (str, NULL, '/');
+  const char *second_last_slash = strchr_reverse (str, last_slash, '/');
 
-  if (second_last_slash)
-    strcpy (second_last_slash + 1, last_slash + 1);
+  if (second_last_slash && new_str)
+    strcpy (new_str + (second_last_slash - str) + 1, last_slash + 1);
 
   return gtk_file_path_new_steal (new_str);
 }
@@ -395,9 +395,15 @@
                                  GSList *paths,
                                  gpointer data)
 {
-  MyFileFolder *my_folder = MY_FILE_FOLDER (data);
-
+  MyFileFolder *my_folder;
   GSList *my_paths;
+
+  if (MY_IS_FILE_FOLDER(data))
+      my_folder = MY_FILE_FOLDER (data);
+  else {
+      return;
+  }
+
   my_paths = NULL;
   while (paths)
     {
@@ -424,8 +430,15 @@
                                   const GError *error,
                                   gpointer data)
 {
-  MyFileFolder *my_folder = MY_FILE_FOLDER (data);
+  MyFileFolder *my_folder;
 
+  if (MY_IS_FILE_FOLDER(data))
+      my_folder = MY_FILE_FOLDER (data);
+  else {
+      g_object_unref (handle);
+      return;
+  }
+ 
   my_folder->handles = g_slist_remove (my_folder->handles, handle);
 
   g_object_unref (handle);



More information about the pkg-maemo-commits mailing list