** Description changed:
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)
[0x0]
- at Docky.Core.Default.ItemsService.MaybeCreateCustomItem (System.String
identifier) [0x0]
- at Docky.Core.Default.ItemsService.InternalAddItemToDock (System.String
identifier, Int32 position) [0x0]
- at Docky.Core.Default.ItemsService.UpdateItems () [0x0]
- at Docky.Core.Default.ItemsService.HandleUniverseInitialized (System.Object
sender, System.EventArgs e) [0x0]
- at (wrapper delegate-invoke)
System.EventHandler:invoke_void__this___object_EventArgs
(object,System.EventArgs)
- at Do.Core.UniverseManager.InitializeAsyncm__1E () [0x0]
- at Do.Platform.ApplicationService+RunOnMainThreadc__AnonStorey10.m__28
(System.Object sender, System.EventArgs e) [0x0]
+ [Debug 10:39:29.460] at System.IO.Directory.Exists (System.String path)
[0x0]
+ at Docky.Core.Default.ItemsService.MaybeCreateCustomItem (System.String
identifier) [0x0]
+ at Docky.Core.Default.ItemsService.InternalAddItemToDock (System.String
identifier, Int32 position) [0x0]
+ at Docky.Core.Default.ItemsService.UpdateItems () [0x0]
+ at Docky.Core.Default.ItemsService.HandleUniverseInitialized (System.Object
sender, System.EventArgs e) [0x0]
+ at (wrapper delegate-invoke)
System.EventHandler:invoke_void__this___object_EventArgs
(object,System.EventArgs)
+ at Do.Core.UniverseManager.InitializeAsyncm__1E () [0x0]
+ at Do.Platform.ApplicationService+RunOnMainThreadc__AnonStorey10.m__28
(System.Object sender, System.EventArgs e) [0x0]
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)) {
+ 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
+ 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
** Description changed:
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: Скачивайте и обменивайтесь файлами в