# HG changeset patch
# User Laurent Bessard
# Date 1370934215 -7200
# Node ID e77c95c4c7fc4f895dcfb16257b963af0343534e
# Parent  ec2c415fc65e0d409b1f7de9fa387a69076afb73
Fixed bug when drag'n dropping POU from project tree and POU is selected

diff -r ec2c415fc65e -r e77c95c4c7fc IDEFrame.py
--- a/IDEFrame.py	Mon Jun 10 23:48:08 2013 +0200
+++ b/IDEFrame.py	Tue Jun 11 09:03:35 2013 +0200
@@ -1446,9 +1446,6 @@
         if tagname is not None:
             self.SelectProjectTreeItem(tagname)
 
-    def ResetSelectedItem(self):
-        self.SelectedItem = None
-
     def GenerateProjectTreeBranch(self, root, infos, item_alone=False):
         to_delete = []
         item_name = infos["name"]
@@ -1525,9 +1522,15 @@
             item, root_cookie = self.ProjectTree.GetNextChild(root, root_cookie)
         return found
 
+    def ResetSelectedItem(self):
+        self.SelectedItem = None
+
     def OnProjectTreeBeginDrag(self, event):
-        if self.SelectedItem is not None and self.ProjectTree.GetPyData(self.SelectedItem)["type"] == ITEM_POU:
-            block_name = self.ProjectTree.GetItemText(self.SelectedItem)
+        selected_item = (self.SelectedItem 
+                         if self.SelectedItem is not None
+                         else event.GetItem())
+        if selected_item.IsOk() and self.ProjectTree.GetPyData(selected_item)["type"] == ITEM_POU:
+            block_name = self.ProjectTree.GetItemText(selected_item)
             block_type = self.Controler.GetPouType(block_name)
             if block_type != "program":
                 data = wx.TextDataObject(str((block_name, block_type, "")))