[gnome-commander] Reuse code, fix gfile creation of remote connection
- From: Uwe Scholz <uwescholz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-commander] Reuse code, fix gfile creation of remote connection
- Date: Thu, 6 Jan 2022 22:27:52 +0000 (UTC)
commit efa81ba3a63479bb22fba46a7b198d9dfa1dabec
Author: Uwe Scholz <u scholz83 gmx de>
Date: Sun Dec 19 00:25:40 2021 +0100
Reuse code, fix gfile creation of remote connection
src/gnome-cmd-con-remote.cc | 21 +++++----------------
src/gnome-cmd-con.cc | 4 +++-
src/gnome-cmd-dir.cc | 5 ++++-
3 files changed, 12 insertions(+), 18 deletions(-)
---
diff --git a/src/gnome-cmd-con-remote.cc b/src/gnome-cmd-con-remote.cc
index acb2cad6..523faeef 100644
--- a/src/gnome-cmd-con-remote.cc
+++ b/src/gnome-cmd-con-remote.cc
@@ -53,29 +53,18 @@ static void mount_remote_finish_callback(GObject *gobj, GAsyncResult *result, gp
g_return_if_fail(G_IS_FILE(gFile));
GError *error = nullptr;
- GError *errorQuery = nullptr;
- // The volume might be mounted already, so we are trying to get some information about the
- // underlying gFile to decide if we want to raise an error or not
g_file_mount_enclosing_volume_finish(gFile, result, &error);
- con->base_gFileInfo = g_file_query_info(gFile, "*", G_FILE_QUERY_INFO_NONE, nullptr, &errorQuery);
- if (errorQuery)
+ if (error && !g_error_matches(error, G_IO_ERROR, G_IO_ERROR_ALREADY_MOUNTED))
{
- auto uriString = g_file_get_uri(gFile);
- DEBUG('m', "Unable to query information for uri \"%s\", error: %s\n", uriString,
errorQuery->message);
- g_free(uriString);
- if (error)
- {
- DEBUG('m', "... probably because of this error: %s\n", error->message);
- g_error_free(error);
- }
- con->open_failed_error = g_error_copy(errorQuery);
- g_error_free(errorQuery);
+ DEBUG('m', "Unable to mount enclosing volume: %s\n", error->message);
+ con->open_failed_error = g_error_copy(error);
+ g_error_free(error);
set_con_mount_failed(con);
g_object_unref(gFile);
return;
}
-
+ set_con_base_gfileinfo(con);
con->state = GnomeCmdCon::STATE_OPEN;
con->open_result = GnomeCmdCon::OPEN_OK;
g_object_unref(gFile);
diff --git a/src/gnome-cmd-con.cc b/src/gnome-cmd-con.cc
index ad16ff4c..0f3cf315 100644
--- a/src/gnome-cmd-con.cc
+++ b/src/gnome-cmd-con.cc
@@ -333,7 +333,9 @@ gboolean set_con_base_gfileinfo(GnomeCmdCon *con)
con->base_gFileInfo = nullptr;
}
- auto gFile = gnome_cmd_con_create_gfile (con, con->base_path);
+ auto gFile = con->is_local
+ ? gnome_cmd_con_create_gfile (con, con->base_path)
+ : gnome_cmd_con_create_gfile (con, nullptr);
con->base_gFileInfo = g_file_query_info(gFile, "*", G_FILE_QUERY_INFO_NONE, nullptr, &error);
g_object_unref(gFile);
if (error)
diff --git a/src/gnome-cmd-dir.cc b/src/gnome-cmd-dir.cc
index 7fde3e9a..b9d5401c 100644
--- a/src/gnome-cmd-dir.cc
+++ b/src/gnome-cmd-dir.cc
@@ -300,7 +300,10 @@ GnomeCmdDir *gnome_cmd_dir_new_with_con (GnomeCmdCon *con)
g_return_val_if_fail (GNOME_CMD_IS_CON (con), nullptr);
g_return_val_if_fail (con->base_gFileInfo != nullptr, nullptr);
- auto gFile = gnome_cmd_con_create_gfile (con, con->base_path);
+ auto gFile = con->is_local
+ ? gnome_cmd_con_create_gfile (con, con->base_path)
+ : gnome_cmd_con_create_gfile (con, nullptr);
+
auto uri_str = g_file_get_uri(gFile);
g_object_unref (gFile);
GnomeCmdDir *dir = gnome_cmd_con_cache_lookup (con, uri_str);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]