diff -ur Thunar-1.6.10.orig/thunar/thunar-file.c Thunar-1.6.10/thunar/thunar-file.c --- Thunar-1.6.10.orig/thunar/thunar-file.c 2015-05-22 13:25:36.000000000 +0000 +++ Thunar-1.6.10/thunar/thunar-file.c 2016-02-25 14:13:15.273395069 +0000 @@ -775,6 +775,8 @@ _thunar_return_if_fail (G_IS_FILE (event_path)); _thunar_return_if_fail (THUNAR_IS_FILE (file)); + if (!file->display_name) { printf("55555 ARNE WAS HERE\n"); return; } + if (g_file_equal (event_path, file->gfile)) { /* the event occurred for the monitored ThunarFile */ @@ -838,6 +840,7 @@ thunar_file_watch_reconnect (ThunarFile *file) { ThunarFileWatch *file_watch; + if (!file->display_name) { printf("4444 ARNE WAS HERE\n"); return; } /* recreate the monitor without changing the watch_count for file renames */ file_watch = g_object_get_qdata (G_OBJECT (file), thunar_file_watch_quark); @@ -851,7 +854,7 @@ } /* create a file or directory monitor */ - file_watch->monitor = g_file_monitor (file->gfile, G_FILE_MONITOR_WATCH_MOUNTS | G_FILE_MONITOR_SEND_MOVED, NULL, NULL); + file_watch->monitor = g_file_monitor (file->gfile, G_FILE_MONITOR_WATCH_MOUNTS , NULL, NULL); if (G_LIKELY (file_watch->monitor != NULL)) { /* watch monitor for file changes */ @@ -1052,11 +1055,14 @@ /* faccl back to a name for the gfile */ if (file->display_name == NULL) file->display_name = thunar_g_file_get_display_name (file->gfile); + } /* create case sensitive collation key */ file->collate_key = g_utf8_collate_key_for_filename (file->display_name, -1); + if (!file->display_name) { printf("ARNE WAS HERE\n"); return; } + /* lowercase the display name */ casefold = g_utf8_casefold (file->display_name, -1); @@ -3844,6 +3850,7 @@ ThunarFileWatch *file_watch; _thunar_return_if_fail (THUNAR_IS_FILE (file)); + if (!file->display_name) { printf("333 ARNE WAS HERE\n"); return; } file_watch = g_object_get_qdata (G_OBJECT (file), thunar_file_watch_quark); if (file_watch == NULL) @@ -3852,7 +3859,7 @@ file_watch->watch_count = 1; /* create a file or directory monitor */ - file_watch->monitor = g_file_monitor (file->gfile, G_FILE_MONITOR_WATCH_MOUNTS | G_FILE_MONITOR_SEND_MOVED, NULL, NULL); + file_watch->monitor = g_file_monitor (file->gfile, G_FILE_MONITOR_WATCH_MOUNTS , NULL, NULL); if (G_LIKELY (file_watch->monitor != NULL)) { /* watch monitor for file changes */ @@ -4018,10 +4025,14 @@ _thunar_return_val_if_fail (THUNAR_IS_FILE (file_b), 0); #endif + if (!file_a->collate_key_nocase || !file_b->collate_key_nocase) { printf("thunar_file_compare_by_name1\n"); return 0; } + /* case insensitive checking */ if (G_LIKELY (!case_sensitive)) result = strcmp (file_a->collate_key_nocase, file_b->collate_key_nocase); + if (!file_a->collate_key || !file_b->collate_key) { printf("thunar_file_compare_by_name2\n"); return 0; } + /* fall-back to case sensitive */ if (result == 0) result = strcmp (file_a->collate_key, file_b->collate_key); diff -ur Thunar-1.6.10.orig/thunar/thunar-folder.c Thunar-1.6.10/thunar/thunar-folder.c --- Thunar-1.6.10.orig/thunar/thunar-folder.c 2015-05-22 13:25:36.000000000 +0000 +++ Thunar-1.6.10/thunar/thunar-folder.c 2016-02-22 01:02:38.962031113 +0000 @@ -569,7 +569,7 @@ /* add us to the file alteration monitor */ folder->monitor = g_file_monitor_directory (thunar_file_get_file (folder->corresponding_file), - G_FILE_MONITOR_SEND_MOVED, NULL, NULL); + G_FILE_MONITOR_NONE, NULL, NULL); if (G_LIKELY (folder->monitor != NULL)) g_signal_connect (folder->monitor, "changed", G_CALLBACK (thunar_folder_monitor), folder);