[Bug 486201] [NEW] Docky cannot initialize Transmisson custom item (Path too long)
Alexey Nedilko
alexey_nedilko at lavabit.com
Sat Nov 21 09:11:35 UTC 2009
Public bug reported:
Binary package hint: gnome-do
When I'm adding Transmission to the Docky items, Do won't start the next
time. Here is the snippet of --debug (I'm ataching the whole output, but
that's the part that shows the problem):
[Error 10:39:29.458] Error in RunOnMainThread: Path is too long. Path: BitTorrent клиент Transmission: Скачивайте и обменивайтесь файлами в сети BitTorrent (Do.Universe.Linux.ApplicationItem)
[Debug 10:39:29.460] at System.IO.Directory.Exists (System.String path) [0x00000]
at Docky.Core.Default.ItemsService.MaybeCreateCustomItem (System.String& identifier) [0x00000]
at Docky.Core.Default.ItemsService.InternalAddItemToDock (System.String identifier, Int32 position) [0x00000]
at Docky.Core.Default.ItemsService.UpdateItems () [0x00000]
at Docky.Core.Default.ItemsService.HandleUniverseInitialized (System.Object sender, System.EventArgs e) [0x00000]
at (wrapper delegate-invoke) System.EventHandler:invoke_void__this___object_EventArgs (object,System.EventArgs)
at Do.Core.UniverseManager.<InitializeAsync>m__1E () [0x00000]
at Do.Platform.ApplicationService+<RunOnMainThread>c__AnonStorey10.<>m__28 (System.Object sender, System.EventArgs e) [0x00000]
The string that is treated as path, is in fact the Comment in ru_RU locale of the Transmission .desktop file. Here is the .desktop file:
#!/usr/bin/env xdg-open
[Desktop Entry]
Name=Transmission BitTorrent Client
GenericName=BitTorrent Client
Comment=Download and share files over BitTorrent
Exec=transmission %F
Icon=transmission
Terminal=false
TryExec=transmission
Type=Application
MimeType=application/x-bittorrent;
Categories=Network;FileTransfer;P2P;GTK;
X-Ubuntu-Gettext-Domain=transmission
Icon[ru_RU]=transmission
Name[ru_RU]=BitTorrent клиент Transmission
Comment[ru_RU]=Скачивайте и обменивайтесь файлами в сети BitTorrent
I've looked into Docky.Core.Default.ItemsService.MaybeCreateCustomItem() method:
AbstractDockItem MaybeCreateCustomItem (ref string identifier)
{
ItemDockItem customItem = null;
if (identifier.StartsWith ("file://"))
identifier = identifier.Substring ("file://".Length);
if (File.Exists (identifier) || Directory.Exists (identifier)) {
if (identifier.EndsWith (".desktop")) {
So that's where Directory.Exists fails because the path is very much
incorrect - in fact, it obviously isn't a path.
As far as I see, there are several possible fixes:
1) Add try..catch to code that treats the item identifier as path (the code snippet above)
2) Change the format of ItemsService_CustomItems so that each identifier there contains information about what type of item it represents: a file, a folder, a .desktop file or something other.
OS: Ubuntu 9.10 x64
Do version: 0.8.2+dfsg-1
LANG: ru_RU.UTF-8
Cheers,
Alex
ProblemType: Bug
Architecture: amd64
Date: Sat Nov 21 10:33:39 2009
DistroRelease: Ubuntu 9.10
NonfreeKernelModules: nvidia
Package: gnome-do 0.8.2+dfsg-1
ProcEnviron:
LANG=ru_RU.UTF-8
SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-14.48-generic
SourcePackage: gnome-do
Uname: Linux 2.6.31-14-generic x86_64
** Affects: gnome-do (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug docky
--
Docky cannot initialize Transmisson custom item (Path too long)
https://bugs.launchpad.net/bugs/486201
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
ubuntu-bugs at lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
More information about the universe-bugs
mailing list