kivy/kivy-designer — pull request #51 by kived (2014-06-16 16:07:13+00:00)
Title: make PlaygroundDragElement move search recursively for target

Making my own custom widgets, I ran into an issue with `PlaygroundDragElement` trying to add a complex widget to one if its own children.

Example - add the following to `designer/common.py`:
````
widgets = [
...
('TabbedPanelTest', 'complex'),
]

from kivy.lang import Builder
Builder.load_string('''
:
do_default_tab: False
TabbedPanelItem:
GridLayout:
''')
````
Create a new project (I tested with the `BoxLayout` template), then add the `TabbedPanelTest` to the project. When you drag the `TabbedPanelTest` over the `BoxLayout` it will be added. Keep dragging the `PlaygroundDragElement` over the nested `GridLayout` and the `TabbedPanelTest` will then be added to its own `GridLayout`, causing the interpreter stack to blow up from an infinite loop attempting to process the graphics instructions.