FmJobErrorAction on_folder_err(FmFolder* folder, GError* err, FmJobErrorSeverity severity, FmFolderView* fv) { GtkWindow* parent = (GtkWindow*)gtk_widget_get_toplevel((GtkWidget*)fv); if( err->domain == G_IO_ERROR ) { if( err->code == G_IO_ERROR_NOT_MOUNTED && severity < FM_JOB_ERROR_CRITICAL ) if(fm_mount_path(parent, folder->dir_path, TRUE)) return FM_JOB_RETRY; else if(err->code == G_IO_ERROR_FAILED_HANDLED) return FM_JOB_CONTINUE; } fm_show_error(parent, NULL, err->message); return FM_JOB_CONTINUE; }
static FmJobErrorAction on_folder_error(FmFolder* folder, GError* err, FmJobErrorSeverity severity, FmTabPage* page) { GtkWindow* win = GTK_WINDOW(GET_MAIN_WIN(page)); if(err->domain == G_IO_ERROR) { if( err->code == G_IO_ERROR_NOT_MOUNTED && severity < FM_JOB_ERROR_CRITICAL ) { FmPath* path = fm_folder_get_path(folder); if(fm_mount_path(win, path, TRUE)) return FM_JOB_RETRY; } } if(severity >= FM_JOB_ERROR_MODERATE) { /* Only show more severe errors to the users and * ignore milder errors. Otherwise too many error * message boxes can be annoying. * This fixes bug #3411298- Show "Permission denied" when switching to super user mode. * https://sourceforge.net/tracker/?func=detail&aid=3411298&group_id=156956&atid=801864 * */ fm_show_error(win, NULL, err->message); } return FM_JOB_CONTINUE; }