Bug 219002 - Gobby won't open files because it corrupts the pathname
Gobby won't open files because it corrupts the pathname
Product: Fedora
Classification: Fedora
Component: gobby (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Luke Macken
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2006-12-08 19:40 EST by Ian Laurie
Modified: 2016-09-19 22:37 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-01-08 20:44:57 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Ian Laurie 2006-12-08 19:40:49 EST
Description of problem:
Gobby does weird things to the file name argument so that you cannot specify
a file's absolute pathname to the program.  It seems to want to add the user's
home directory in front of the specified file.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. From a shell type "gobby /root/src/foo.c
2. Gobby reports no such file as /root/root/src/foo.c
Actual results:
It has added the user's home directory to the specified path and thus
created an incorrect pathname.

Expected results:
Should use the supplied argument, or document in 'gobby --help' that it expects
a pathname argument "relative" to the user's home directory.  Also the hooks to
use gobby from Nautilus don't provide gobby with a pathname it can use.

Additional info:
Right clicking in Nautilus and selecting to open a file with gobby also
produces this error.
Comment 1 Luke Macken 2007-01-08 14:45:02 EST
I wrote the following patch, added it to the devel branch, and tagged and built

--- src/main.cpp.orig	2007-01-08 14:23:17.000000000 -0500
+++ src/main.cpp	2007-01-08 14:25:29.000000000 -0500
@@ -185,10 +185,17 @@
 		// Make absolute filenames to understand the files
 		// from everywhere when we send them to another process
-		files[i - 1] = Glib::build_filename(
-			Glib::get_current_dir(),
-			argv[i]
-		);
+		if(Glib::path_is_absolute(argv[i]))
+		{
+			files[i - 1] = argv[i];
+		}
+		else
+		{
+			files[i - 1] = Glib::build_filename(
+				Glib::get_current_dir(),
+				argv[i]
+			);
+		}
 	Gobby::IconManager icon_mgr;

I opened the following ticket upstream to try and get this patch applied:
Comment 2 Luke Macken 2007-01-08 20:44:57 EST
I applied this patch to FC-6 branch and kicked off a build.  This issue was
already fixed upstream (with a patch that's essentially the same as above).

Note You need to log in before you can comment on or make changes to this bug.