Clock.max_iteration = 40
If you increase it, and you still get the issue, that doesn't mean it
not working, that's mean you've a recursive Clock iteration somewhere.
Example:
def do_something(...):
Clock.schedule_once(do_something, -1)
# start the event
Clock.schedule_once(do_something, -1)
=> -1 mean before the next frame. Mean if you still trying to schedule a
method between the next frame, it's infinite. And kivy broke the link.
In rare case, this can be triggered by layout (and it should be a bug).
If it's from us, give a code snippet to reproduce the issue :)
Thanks!
Mathieu
#!/usr/bin/env python# -*- coding: utf-8 -*-
from kivy.uix.gridlayout import GridLayoutfrom kivy.app import Appfrom kivy.lang import Builderfrom kivy.uix.popup import Popupfrom kivy.uix.button import Buttonfrom kivy.uix.boxlayout import BoxLayout
Builder.load_string('''
<CustomPopup>: size_hint: .5, .5 auto_dismiss: False title: 'Hello world' Button: text: 'Click me to dismiss' on_press: app.dismiss()
<Label> font_size: '24pt' text_size: self.width, self.height valign: 'middle' halign: 'center' markup: True
<TextInput> font_size: '24pt'
<Button> font_size: '16pt'
<Demo>: cols: 1 padding: 10 spacing: 10 BoxLayout: size_hint_y: 0.05 Label: text: ('[b]Demo controller v.0.1[/b]') markup: True font_size: '24pt' BoxLayout: size_hint_y: 0.2 padding: 1 Label: text: ('Some text') markup: True font_size: '24pt' TextInput: Button: text: 'Fire' on_press: root.show_popup() Label:
''')
class Demo(GridLayout): def show_popup(self): p = CustomPopup() p.open() class CustomPopup(Popup): pass
class ControllerXYZApp(App): def build(self): return Demo()
if __name__ == '__main__': ControllerXYZApp().run()
<Label> font_size: '24pt' text_size: self.width, self.height valign: 'middle' halign: 'center' markup: True