** 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) 
[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] 
+ [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")) {
+   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: Скачивайте и обменивайтесь файлами в сети 
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.
+ 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, so that during initialization 
ItemsService doesn't end up probing all possible types of items for the 
identifier, but just get the correct type from identifier and create item.
  
  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

** Also affects: do
   Importance: Undecided
       Status: New

-- 
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@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to