Hi, xffm-4.0.2 hangs when mounting floppys/cdroms/USB-MassStorage. I say mount in the right click menu and then it hangs. When I close xffm and restart it the device is correctly mounted. When I try to mount devices I don't have permissions for xffm hangs till I click on the "brush"-button in the bottom-right of xffm. Then it displays the correct error message ("mount: only root..." and "child process interrupted, pid=6057").
It also hangs when umounting devices till I click the brush button. Then xffm reacts again and the device is successfully umounted.
The xffm mount/unmount function for 4.0.x version will only work if you have the appropriate permissions to mount/unmount, by uid or by fstab settings. If you set the environment variable XFFM_USE_SUDO, then you can do the mount/unmount by sudo. But if sudo is configured to ask for password, xffm will again stall. In version 4.1, xffm will always use sudo to mount/unmount and if a password is required, you will be queried for it. I'm afraid that this feature will not be backported to the 4.0.x branch. If you choose to upgrade to 4.1 (CVS HEAD), remember that xffm-icons need be upgraded too (if installed).
As I said above the mount/umount also hangs with devices I have the permission for (by option "users" in /etc/fstab). What? xffm-4.1 will only use mounting with sudo? I don't see the advantages...
4.1 is not yet stable, so that using sudo or not will finally depend on whether sudo is installed and whether the user wants to use sudo (probably keep using the env var XFFM_USE_SUDO). The futher information you provide make me believe the bug is a problem with file tubo.c which caused other bugs as well. Please replace libs/tubo.c with the uploaded file and check whether the bug is gone.
When I replace the tubo.c and try to recompile (re-emerge xffm, I use Gentoo) I get the following compile error: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../src -I../smb -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/xfce4 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DPACKAGE_DATA_DIR=\"/usr/share\" -DPACKAGE_LOCALE_DIR=\"/usr/share/locale\" -march=pentium4 -O3 -pipe -fomit-frame-pointer -MT libxffm_tubo_la-tubo.lo -MD -MP -MF .deps/libxffm_tubo_la-tubo.Tpo -c tubo.c -fPIC -DPIC -o .libs/libxffm_tubo_la-tubo.o tubo.c:1: error: syntax error before '<' token tubo.c:5: error: syntax error at '@' token tubo.c:35:9: missing terminating " character tubo.c:36:1: warning: character constant too long for its type tubo.c:36:1: warning: character constant too long for its type tubo.c:36:42: missing terminating " character tubo.c:123: error: syntax error at '#' token tubo.c:131:4: too many decimal points in number tubo.c:156:95: too many decimal points in number tubo.c:195: error: syntax error at '#' token tubo.c:455:4: too many decimal points in number tubo.c:480:95: too many decimal points in number tubo.c:530:4: too many decimal points in number tubo.c:956:44: invalid digit "8" in octal constant tubo.c:1145:45: invalid digit "9" in octal constant tubo.c:1219:46: missing terminating ' character tubo.c:1219:46: warning: character constant too long for its type tubo.c:1224:15: invalid digit "8" in octal constant tubo.c:1253:42: missing terminating ' character tubo.c:1253:42: warning: character constant too long for its type tubo.c:1319:9: invalid digit "9" in octal constant tubo.c:1325:9: invalid digit "9" in octal constant tubo.c:1329:9: invalid digit "9" in octal constant tubo.c:1346:9: invalid digit "9" in octal constant tubo.c:1351:9: invalid digit "9" in octal constant tubo.c:1359:9: invalid digit "9" in octal constant tubo.c:1373:9: invalid digit "9" in octal constant tubo.c:1400:9: invalid digit "8" in octal constant tubo.c:1404:9: invalid digit "8" in octal constant tubo.c:1408:9: invalid digit "8" in octal constant tubo.c:1413:9: invalid digit "8" in octal constant tubo.c:1423:9: invalid digit "8" in octal constant tubo.c:1538: error: syntax error at '@' token make[2]: *** [libxffm_tubo_la-tubo.lo] Fehler 1 make[2]: Leaving directory `/var/tmp/portage/xffm-4.0.2/work/xffm-4.0.2/libs' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/var/tmp/portage/xffm-4.0.2/work/xffm-4.0.2' make: *** [all] Fehler 2 When I replace tubo.c and tubo.h I geht the following compile error: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../src -I../smb -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/xfce4 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DPACKAGE_DATA_DIR=\"/usr/share\" -DPACKAGE_LOCALE_DIR=\"/usr/share/locale\" -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -march=pentium4 -O3 -pipe -fomit-frame-pointer -MT libxffm_actions_la-cpy.lo -MD -MP -MF .deps/libxffm_actions_la-cpy.Tpo -c cpy.c -fPIC -DPIC -o .libs/libxffm_actions_la-cpy.o In file included from cpy.c:60: tubo.h:1: error: syntax error before '<' token tubo.h:5: error: syntax error at '@' token In file included from cpy.c:60: tubo.h:35:9: missing terminating " character tubo.h:36:1: warning: character constant too long for its type tubo.h:36:1: warning: character constant too long for its type tubo.h:36:42: missing terminating " character tubo.h:178:45: invalid digit "9" in octal constant In file included from cpy.c:61: uri.h:42: warning: data definition has no type or storage class cpy.c: In function `IndirectTransfer': cpy.c:1080: warning: assignment makes pointer from integer without a cast cpy.c: In function `ChildTransfer': cpy.c:1392: error: `URI_LOCAL' undeclared (first use in this function) cpy.c:1392: error: (Each undeclared identifier is reported only once cpy.c:1392: error: for each function it appears in.) cpy.c:1393: error: `URI_FILE' undeclared (first use in this function) cpy.c:1398: error: `URI_HTTP' undeclared (first use in this function) cpy.c:1399: error: `URI_FTP' undeclared (first use in this function) cpy.c:1403: error: `URI_TAR' undeclared (first use in this function) cpy.c: In function `rwStdout': cpy.c:1604: warning: assignment makes pointer from integer without a cast make[2]: *** [libxffm_actions_la-cpy.lo] Fehler 1 make[2]: Leaving directory `/var/tmp/portage/xffm-4.0.2/work/xffm-4.0.2/libs' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/var/tmp/portage/xffm-4.0.2/work/xffm-4.0.2' make: *** [all] Fehler 2
That's weird. It looks like you are replacing tubo.c with the wrong file. Or replacing in wrong place (should be at /var/tmp/portage/xffm-4.0.2/work/xffm-4.0.2/libs/tubo.c). If you can't get the Gentoo port to compile, do a checkout from the CVS with "-r xfce_4_0" tag and then do a ./configure --prefix=/usr && make && sudo make install That should overwrite the 4.0.2 portage binaries with the current 4.0 branch CVS version.
I took the tubo.{h,c} from the WebCVS and put them to /var/tmp/portage/xffm-4.0.2/work/xffm-4.0.2/libs/. So that should be ok. Perhaps I'll try to compile the complete CVS source tomorrow.
Hey, I checked out the xfce_4_0 head of xfce4/xffm and used these versions of tubo.{c,h}. These I copied to the gentoo work directory and it compiled without problems. Now I can mount/umount devices! Seems the bug is solved with the new tubo.c Thanks for your good help, Tassilo