KivyMD: Alert dialog's buttons do nothing
Description of the Bug
Buttons in MDDialog’s are not clickable when the dialog has type=alert (the default type).
Instead, it appears that clicking anywhere on the screen (on a button or over the dialog or outside the dialog) simply dismisses the dialog
Steps to reproduce
To reproduce, execute the following from a Debian 10 VM in BASH:
sudo apt-get -y install python3 python3-pip python3-virtualenv python3-setuptools
sudo dpkg -l | grep python
python3 -m virtualenv --python=python3.7 /tmp/virtualenv/kivymd_test
/tmp/virtualenv/kivymd_test/bin/python3 -m pip install --upgrade pip kivy kivymd
/tmp/virtualenv/kivymd_test/bin/python3 -m pip list
source /tmp/virtualenv/kivymd_test/bin/activate
tmpDir=`mktemp -d`
pushd "${tmpDir}"
cat << EOF > alertDialogButtonFail.py
#!/usr/bin/env python3
from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.button import MDFlatButton
from kivymd.uix.dialog import MDDialog
KV = '''
FloatLayout:
MDFlatButton:
text: "ALERT DIALOG"
pos_hint: {'center_x': .5, 'center_y': .5}
on_release: app.show_alert_dialog()
'''
class Example(MDApp):
dialog = None
def build(self):
return Builder.load_string(KV)
def show_alert_dialog(self):
if not self.dialog:
self.dialog = MDDialog(
text="Discard draft?",
title="Example Title",
buttons=[
MDFlatButton(
text="CANCEL", text_color=self.theme_cls.primary_color
),
MDFlatButton(
text="DISCARD", text_color=self.theme_cls.primary_color
),
],
)
self.dialog.open()
Example().run()
EOF
chmod +x alertDialogButtonFail.py
./alertDialogButtonFail.py
popd
Example Execution
user@disp3499:~$ sudo apt-get -y install python3 python3-pip python3-virtualenv python3-setuptools
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-pip is already the newest version (18.1-5).
python3-setuptools is already the newest version (40.8.0-1).
python3-virtualenv is already the newest version (15.1.0+ds-2).
python3 is already the newest version (3.7.3-1).
The following packages were automatically installed and are no longer required:
linux-headers-4.19.0-6-amd64 linux-headers-4.19.0-6-common
linux-image-4.19.0-6-amd64 python-daemon python-lockfile python-qubesdb
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 18 not upgraded.
user@disp3499:~$ sudo dpkg -l | grep python
ii dh-python 3.20190308 all Debian helper tools for packaging Python libraries and applications
ii libboost-python1.67.0 1.67.0-13+deb10u1 amd64 Boost.Python Library
ii libpython-stdlib:amd64 2.7.16-1 amd64 interactive high-level object-oriented language (Python2)
ii libpython2-stdlib:amd64 2.7.16-1 amd64 interactive high-level object-oriented language (Python2)
ii libpython2.7:amd64 2.7.16-2+deb10u1 amd64 Shared Python runtime library (version 2.7)
ii libpython2.7-minimal:amd64 2.7.16-2+deb10u1 amd64 Minimal subset of the Python language (version 2.7)
ii libpython2.7-stdlib:amd64 2.7.16-2+deb10u1 amd64 Interactive high-level object-oriented language (standard library, version 2.7)
ii libpython3-dev:amd64 3.7.3-1 amd64 header files and a static library for Python (default)
ii libpython3-stdlib:amd64 3.7.3-1 amd64 interactive high-level object-oriented language (default python3 version)
ii libpython3.7:amd64 3.7.3-2+deb10u2 amd64 Shared Python runtime library (version 3.7)
ii libpython3.7-dev:amd64 3.7.3-2+deb10u2 amd64 Header files and a static library for Python (v3.7)
ii libpython3.7-minimal:amd64 3.7.3-2+deb10u2 amd64 Minimal subset of the Python language (version 3.7)
ii libpython3.7-stdlib:amd64 3.7.3-2+deb10u2 amd64 Interactive high-level object-oriented language (standard library, version 3.7)
ii libreoffice-script-provider-python 1:6.1.5-3+deb10u6 all Python script support provider for LibreOffice scripting framework
ii python 2.7.16-1 amd64 interactive high-level object-oriented language (Python2 version)
ii python-apt-common 1.8.4.1 all Python interface to libapt-pkg (locales)
ii python-asn1crypto 0.24.0-1 all Fast ASN.1 parser and serializer (Python 2)
ii python-attr 18.2.0-1 all Attributes without boilerplate (Python 2)
ii python-automat 0.6.0-1 all Self-service finite-state machines for the programmer on the go
ii python-backports.functools-lru-cache 1.5-3 all backport of functools.lru_cache from Python 3.3 to Python 2
ii python-bcrypt 3.1.6-1 amd64 password hashing library for Python
ii python-bs4 4.7.1-1 all error-tolerant HTML parser for Python
ii python-cairo:amd64 1.16.2-1+b1 amd64 Python bindings for the Cairo vector graphics library
ii python-cffi-backend 1.12.2-1 amd64 Foreign Function Interface for Python calling C code - backend
ii python-chardet 3.0.4-3 all universal character encoding detector for Python2
ii python-click 7.0-1 all Wrapper around optparse for command line utilities - Python 2.7
ii python-colorama 0.3.7-1 all Cross-platform colored terminal text in Python - Python 2.x
ii python-configparser 3.5.0b2-1 all backport of the enhanced config parser introduced in Python 3.2
ii python-constantly 15.1.0-1 all Symbolic constants in Python
ii python-cryptography 2.6.1-3+deb10u2 amd64 Python library exposing cryptographic recipes and primitives (Python 2)
ii python-daemon 2.2.3-1 all library for making a Unix daemon process Python 2
ii python-dbus 1.2.8-3 amd64 simple interprocess messaging system (Python interface)
ii python-enchant 2.0.0-1 all spellchecking library for Python
ii python-enum34 1.1.6-2 all backport of Python 3.4's enum package
ii python-future 0.16.0-1 all single-source support for Python 3 and 2 - Python 2.x
ii python-gi 3.30.4-1 amd64 Python 2.x bindings for gobject-introspection libraries
ii python-gi-cairo 3.30.4-1 amd64 Python Cairo bindings for the GObject library
ii python-glade2 2.24.0-5.1+b1 amd64 GTK+ bindings: Glade support
ii python-gobject-2 2.28.6-13+b1 amd64 deprecated static Python bindings for the GObject library
ii python-gtk2 2.24.0-5.1+b1 amd64 Python bindings for the GTK+ widget set
ii python-gtkglext1 1.1.0-9.1 amd64 GtkGLext python bindings
ii python-gtkspellcheck 4.0.5-1 all Python 2 spellchecking library GTK+ based on Enchant
ii python-html5lib 1.0.1-1 all HTML parser/tokenizer based on the WHATWG HTML5 specification
ii python-hyperlink 17.3.1-2 all Immutable, Pythonic, correct URLs.
ii python-idna 2.6-1 all Python IDNA2008 (RFC 5891) handling (Python 2)
ii python-incremental 16.10.1-3 all Library for versioning Python projects.
ii python-iniparse 0.4-2.2 all access and modify configuration data in INI files (Python 2)
ii python-ipaddress 1.0.17-1 all Backport of Python 3 ipaddress module (Python 2)
ii python-libtorrent 1.1.11-2 amd64 Python bindings for libtorrent-rasterbar
ii python-libxml2 2.9.4+dfsg1-7+b3 amd64 Python bindings for the GNOME XML library
ii python-lockfile 1:0.12.2-2 all file locking library for Python Python 2 library
ii python-lxml:amd64 4.3.2-1 amd64 pythonic binding for the libxml2 and libxslt libraries
ii python-lz4 1.1.0+dfsg-1 amd64 Python interface to the lz4 compression library
ii python-lzma 0.5.3-4 amd64 Python bindings for liblzma
ii python-lzo 1.12-2 amd64 Python bindings for the LZO data compression library
ii python-minimal 2.7.16-1 amd64 minimal subset of the Python2 language
ii python-nacl 1.3.0-2 amd64 Python bindings to libsodium (Python 2)
ii python-nautilus 1.2.2-2 amd64 Python binding for Nautilus components
ii python-notify 0.1.1-4 amd64 Python bindings for libnotify
ii python-numpy 1:1.16.2-1 amd64 Numerical Python adds a fast array facility to the Python language
ii python-olefile 0.46-1 all Python module to read/write MS OLE2 files
ii python-opengl 3.1.0+dfsg-2 all Python bindings to OpenGL (Python 2)
ii python-openssl 19.0.0-1 all Python 2 wrapper around the OpenSSL library
ii python-paramiko 2.4.2-0.1 all Make ssh v2 connections (Python 2)
ii python-pil:amd64 5.4.1-2+deb10u2 amd64 Python Imaging Library (Pillow fork)
ii python-pip-whl 18.1-5 all Python package installer
ii python-pkg-resources 40.8.0-1 all Package Discovery and Resource Access using pkg_resources
ii python-pyasn1 0.4.2-3 all ASN.1 library for Python (Python 2 module)
ii python-pyasn1-modules 0.2.1-0.2 all Collection of protocols modules written in ASN.1 language
ii python-pycurl 7.43.0.2-0.1 amd64 Python bindings to libcurl
ii python-pygame 1.9.4.post1+dfsg-3 amd64 SDL bindings for games development (Python 2)
ii python-pyqt5 5.11.3+dfsg-1+b3 amd64 Python 2 bindings for Qt5
ii python-qrtools 1.4~bzr32-1 all high level library for reading and generating QR codes
ii python-qubesdb 4.0.13-1+deb10u1 amd64 QubesDB python bindings.
ii python-rencode 1.0.5-1+b2 amd64 Python encoding library similar to bittorrent's bencode
ii python-rpm 4.14.2.1+dfsg1-1 amd64 Python bindings for RPM
ii python-scour 0.37-2 all SVG scrubber and optimizer (Python 2 module)
ii python-service-identity 16.0.0-2 all Service identity verification for pyOpenSSL (Python 2 module)
ii python-sip 4.19.14+dfsg-2 amd64 Python/C++ bindings generator runtime library
ii python-six 1.12.0-1 all Python 2 and 3 compatibility library (Python 2 interface)
ii python-soupsieve 1.8+dfsg-1 all Modern CSS selector implementation for BeautifulSoup (Python 2.7)
ii python-sqlite 1.0.1-12 amd64 Python interface to SQLite 2
ii python-sqlitecachec 1.1.4-1 amd64 Fast metadata parser for yum
ii python-talloc:amd64 2.1.14-2 amd64 hierarchical pool based memory allocator - Python bindings
ii python-twisted-bin:amd64 18.9.0-3 amd64 Event-based framework for internet applications
ii python-twisted-core 18.9.0-3 all Event-based framework for internet applications
ii python-uritools 2.2.0-1 all RFC 3986 compliant replacement for urlparse (Python 2)
ii python-urlgrabber 3.10.2-1 all high-level URL transfer library
ii python-webencodings 0.5.1-1 all Python implementation of the WHATWG Encoding standard
ii python-xdg 0.25-5 all Python 2 library to access freedesktop.org standards
ii python-zbar:amd64 0.22-1 amd64 bar code scanner and decoder (Python bindings)
ii python-zope.interface 4.3.2-1+b2 amd64 Interfaces for Python
ii python2 2.7.16-1 amd64 interactive high-level object-oriented language (Python2 version)
ii python2-minimal 2.7.16-1 amd64 minimal subset of the Python2 language
ii python2.7 2.7.16-2+deb10u1 amd64 Interactive high-level object-oriented language (version 2.7)
ii python2.7-minimal 2.7.16-2+deb10u1 amd64 Minimal subset of the Python language (version 2.7)
ii python3 3.7.3-1 amd64 interactive high-level object-oriented language (default python3 version)
ii python3-apt 1.8.4.1 amd64 Python 3 interface to libapt-pkg
ii python3-asn1crypto 0.24.0-1 all Fast ASN.1 parser and serializer (Python 3)
ii python3-bcrypt 3.1.6-1 amd64 password hashing library for Python 3
ii python3-cairo:amd64 1.16.2-1+b1 amd64 Python3 bindings for the Cairo vector graphics library
ii python3-certifi 2018.8.24-1 all root certificates for validating SSL certs and verifying TLS hosts (python3)
ii python3-cffi-backend 1.12.2-1 amd64 Foreign Function Interface for Python 3 calling C code - runtime
ii python3-chardet 3.0.4-3 all universal character encoding detector for Python3
ii python3-croniter 0.3.24-2 all provides iteration for datetime object with cron like format - Python 3.x
ii python3-crypto 2.6.1-9+b1 amd64 cryptographic algorithms and protocols for Python 3
ii python3-cryptography 2.6.1-3+deb10u2 amd64 Python library exposing cryptographic recipes and primitives (Python 3)
ii python3-cups 1.9.73-2+b1 amd64 Python3 bindings for CUPS
ii python3-cupshelpers 1.5.11-4 all Python utility modules around the CUPS printing system
ii python3-daemon 2.2.3-1 all library for making a Unix daemon process Python 3
ii python3-dateutil 2.7.3-3 all powerful extensions to the standard Python 3 datetime module
ii python3-dbus 1.2.8-3 amd64 simple interprocess messaging system (Python 3 interface)
ii python3-debconf 1.5.71 all interact with debconf from Python 3
ii python3-debian 0.1.35 all Python 3 modules to work with Debian-related data formats
ii python3-debianbts 2.8.2 all Python interface to Debian's Bug Tracking System
ii python3-dev 3.7.3-1 amd64 header files and a static library for Python (default)
ii python3-distro 1.3.0-1 all Linux OS platform information API
ii python3-distutils 3.7.3-1 all distutils package for Python 3.x
ii python3-entrypoints 0.3-1 all Discover and load entry points from installed packages (Python 3)
ii python3-gi 3.30.4-1 amd64 Python 3 bindings for gobject-introspection libraries
ii python3-gi-cairo 3.30.4-1 amd64 Python 3 Cairo bindings for the GObject library
ii python3-httplib2 0.11.3-2 all comprehensive HTTP client library written for Python3
ii python3-idna 2.6-1 all Python IDNA2008 (RFC 5891) handling (Python 3)
ii python3-jinja2 2.10-2 all small but fast and easy to use stand-alone template engine
ii python3-jmespath 0.9.4-1 all JSON Matching Expressions (Python 3)
ii python3-kerberos 1.1.14-2 amd64 GSSAPI interface module - Python 3.x
ii python3-keyring 17.1.1-1 all store and access your passwords safely - Python 3 version of the package
ii python3-keyrings.alt 3.1.1-1 all alternate backend implementations for python3-keyring
ii python3-lib2to3 3.7.3-1 all Interactive high-level object-oriented language (2to3, version 3.6)
ii python3-libcloud 2.4.0-1 all unified Python interface into the cloud (Python3 version)
ii python3-lockfile 1:0.12.2-2 all file locking library for Python Python 3 library
ii python3-markupsafe 1.1.0-1 amd64 HTML/XHTML/XML string library for Python 3
ii python3-minimal 3.7.3-1 amd64 minimal subset of the Python language (default python3 version)
ii python3-msgpack 0.5.6-1+b1 amd64 Python 3 implementation of MessagePack format
ii python3-nacl 1.3.0-2 amd64 Python bindings to libsodium (Python 3)
ii python3-netaddr 0.7.19-1 all manipulation of various common network address notations (Python 3)
ii python3-ntlm-auth 1.1.0-1 all NTLM low-level Python library
ii python3-numpy 1:1.16.2-1 amd64 Fast array facility to the Python 3 language
ii python3-olefile 0.46-1 all Python module to read/write MS OLE2 files
ii python3-paramiko 2.4.2-0.1 all Make ssh v2 connections (Python 3)
ii python3-pil:amd64 5.4.1-2+deb10u2 amd64 Python Imaging Library (Python3)
ii python3-pip 18.1-5 all Python package installer
ii python3-pkg-resources 40.8.0-1 all Package Discovery and Resource Access using pkg_resources
ii python3-psutil 5.5.1-1 amd64 module providing convenience functions for managing processes (Python3)
ii python3-pyasn1 0.4.2-3 all ASN.1 library for Python (Python 3 module)
ii python3-pycurl 7.43.0.2-0.1 amd64 Python bindings to libcurl (Python 3)
ii python3-pysimplesoap 1.16.2-1 all simple and lightweight SOAP Library (Python 3)
ii python3-qubesdb 4.0.13-1+deb10u1 amd64 QubesDB python bindings.
ii python3-reportbug 7.5.3~deb10u1 all Python modules for interacting with bug tracking systems
ii python3-requests 2.21.0-1 all elegant and simple HTTP library for Python3, built for human beings
ii python3-requests-kerberos 0.11.0-2 all Kerberos/GSSAPI authentication handler for python-requests - Python 3.x
ii python3-requests-ntlm 1.1.0-1 all Adds support for NTLM authentication to the requests library
ii python3-scour 0.37-2 all SVG scrubber and optimizer (Python 3 module)
ii python3-secretstorage 2.3.1-2 all Python module for storing secrets - Python 3.x version
ii python3-selinux 2.8-1+b1 amd64 Python3 bindings to SELinux shared libraries
ii python3-setuptools 40.8.0-1 all Python3 Distutils Enhancements
ii python3-simplejson 3.16.0-1 amd64 simple, fast, extensible JSON encoder/decoder for Python 3.x
ii python3-six 1.12.0-1 all Python 2 and 3 compatibility library (Python 3 interface)
ii python3-smbc 1.0.15.6-1+b2 amd64 Python 3 bindings for the Samba client library
ii python3-tornado4 4.5.3-3 amd64 scalable, non-blocking web server and tools - Python 3 package
ii python3-tz 2019.1-1 all Python3 version of the Olson timezone database
ii python3-uno 1:6.1.5-3+deb10u6 amd64 Python-UNO bridge
ii python3-urllib3 1.24.1-1 all HTTP library with thread-safe connection pooling for Python3
ii python3-virtualenv 15.1.0+ds-2 all Python virtual environment creator
ii python3-wheel 0.32.3-2 all built-package format for Python
ii python3-winrm 0.3.0-2 all Python 3 library for Windows Remote Management
ii python3-xcffib 0.8.1-1+deb10u1 amd64 This package is a Python binding for XCB (Python 3)
ii python3-xdg 0.25-5 all Python 3 library to access freedesktop.org standards
ii python3-xmltodict 0.11.0-2 all Makes working with XML feel like you are working with JSON (Python 3)
ii python3-yaml 3.13-2 amd64 YAML parser and emitter for Python3
ii python3.7 3.7.3-2+deb10u2 amd64 Interactive high-level object-oriented language (version 3.7)
ii python3.7-dev 3.7.3-2+deb10u2 amd64 Header files and a static library for Python (v3.7)
ii python3.7-minimal 3.7.3-2+deb10u2 amd64 Minimal subset of the Python language (version 3.7)
user@disp3499:~$
user@disp3499:~$ python3 -m virtualenv --python=python3.7 /tmp/virtualenv/kivymd_test
Running virtualenv with interpreter /usr/bin/python3.7
Using base prefix '/usr'
/usr/lib/python3/dist-packages/virtualenv.py:1090: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
New python executable in /tmp/virtualenv/kivymd_test/bin/python3.7
Not overwriting existing python script /tmp/virtualenv/kivymd_test/bin/python (you must use /tmp/virtualenv/kivymd_test/bin/python3.7)
Installing setuptools, pkg_resources, pip, wheel...done.
user@disp3499:~$ /tmp/virtualenv/kivymd_test/bin/python3 -m pip install --upgrade pip kivy kivymd
Requirement already up-to-date: pip in /tmp/virtualenv/kivymd_test/lib/python3.7/site-packages (20.2.2)
Requirement already up-to-date: kivy in /tmp/virtualenv/kivymd_test/lib/python3.7/site-packages (1.11.1)
Requirement already up-to-date: kivymd in /tmp/virtualenv/kivymd_test/lib/python3.7/site-packages (0.104.1)
Requirement already satisfied, skipping upgrade: docutils in /tmp/virtualenv/kivymd_test/lib/python3.7/site-packages (from kivy) (0.16)
Requirement already satisfied, skipping upgrade: pygments in /tmp/virtualenv/kivymd_test/lib/python3.7/site-packages (from kivy) (2.6.1)
Requirement already satisfied, skipping upgrade: Kivy-Garden>=0.1.4 in /tmp/virtualenv/kivymd_test/lib/python3.7/site-packages (from kivy) (0.1.4)
Requirement already satisfied, skipping upgrade: pillow in /tmp/virtualenv/kivymd_test/lib/python3.7/site-packages (from kivymd) (7.2.0)
Requirement already satisfied, skipping upgrade: requests in /tmp/virtualenv/kivymd_test/lib/python3.7/site-packages (from kivymd) (2.24.0)
Requirement already satisfied, skipping upgrade: chardet<4,>=3.0.2 in /tmp/virtualenv/kivymd_test/lib/python3.7/site-packages (from requests->kivymd) (3.0.4)
Requirement already satisfied, skipping upgrade: idna<3,>=2.5 in /tmp/virtualenv/kivymd_test/lib/python3.7/site-packages (from requests->kivymd) (2.10)
Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /tmp/virtualenv/kivymd_test/lib/python3.7/site-packages (from requests->kivymd) (1.25.10)
Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /tmp/virtualenv/kivymd_test/lib/python3.7/site-packages (from requests->kivymd) (2020.6.20)
user@disp3499:~$ /tmp/virtualenv/kivymd_test/bin/python3 -m pip list
Package Version
------------- ---------
certifi 2020.6.20
chardet 3.0.4
docutils 0.16
idna 2.10
Kivy 1.11.1
Kivy-Garden 0.1.4
kivymd 0.104.1
Pillow 7.2.0
pip 20.2.2
pkg-resources 0.0.0
Pygments 2.6.1
requests 2.24.0
setuptools 50.0.0
urllib3 1.25.10
wheel 0.35.1
user@disp3499:~$ source /tmp/virtualenv/kivymd_test/bin/activate
(kivymd_test) user@disp3499:~$
(kivymd_test) user@disp3499:~$ tmpDir=`mktemp -d`
(kivymd_test) user@disp3499:~$ pushd "${tmpDir}"
/tmp/tmp.YkuCdPN45C ~
(kivymd_test) user@disp3499:/tmp/tmp.YkuCdPN45C$
(kivymd_test) user@disp3499:/tmp/tmp.YkuCdPN45C$ cat << EOF > alertDialogButtonFail.py
> #!/usr/bin/env python3
> from kivy.lang import Builder
>
> from kivymd.app import MDApp
> from kivymd.uix.button import MDFlatButton
> from kivymd.uix.dialog import MDDialog
>
> KV = '''
> FloatLayout:
>
> MDFlatButton:
> text: "ALERT DIALOG"
> pos_hint: {'center_x': .5, 'center_y': .5}
> on_release: app.show_alert_dialog()
> '''
>
>
> class Example(MDApp):
> dialog = None
>
> def build(self):
> return Builder.load_string(KV)
>
> def show_alert_dialog(self):
> if not self.dialog:
> self.dialog = MDDialog(
> text="Discard draft?",
> title="Example Title",
> buttons=[
> MDFlatButton(
> text="CANCEL", text_color=self.theme_cls.primary_color
> ),
> MDFlatButton(
> text="DISCARD", text_color=self.theme_cls.primary_color
> ),
> ],
> )
> self.dialog.open()
>
>
> Example().run()
> EOF
(kivymd_test) user@disp3499:/tmp/tmp.YkuCdPN45C$ chmod +x alertDialogButtonFail.py
(kivymd_test) user@disp3499:/tmp/tmp.YkuCdPN45C$ ./alertDialogButtonFail.py
[INFO ] [Logger ] Record log in /home/user/.kivy/logs/kivy_20-09-01_4.txt
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at "/tmp/virtualenv/kivymd_test/lib/python3.7/site-packages/kivy/__init__.py"
[INFO ] [Python ] v3.7.3 (default, Jul 25 2020, 13:03:44)
[GCC 8.3.0]
[INFO ] [Python ] Interpreter at "/tmp/virtualenv/kivymd_test/bin/python3"
[INFO ] [Factory ] 184 symbols loaded
[INFO ] [KivyMD ] v0.104.1
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO ] [Window ] Provider: sdl2(['window_egl_rpi'] ignored)
[INFO ] [GL ] Using the "OpenGL" graphics system
[INFO ] [GL ] Backend used <sdl2>
[INFO ] [GL ] OpenGL version <b'3.1 Mesa 18.3.6'>
[INFO ] [GL ] OpenGL vendor <b'VMware, Inc.'>
[INFO ] [GL ] OpenGL renderer <b'llvmpipe (LLVM 7.0, 256 bits)'>
[INFO ] [GL ] OpenGL parsed version: 3, 1
[INFO ] [GL ] Shading version <b'1.40'>
[INFO ] [GL ] Texture max size <8192>
[INFO ] [GL ] Texture max units <32>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [Text ] Provider: sdl2
[INFO ] [GL ] NPOT texture support is available
[INFO ] [Base ] Start application main loop
[INFO ] [WindowSDL ] exiting mainloop and closing.
[INFO ] [Base ] Leaving application in progress...
(kivymd_test) user@disp3499:/tmp/tmp.YkuCdPN45C$
(kivymd_test) user@disp3499:/tmp/tmp.YkuCdPN45C$ popd
~
(kivymd_test) user@disp3499:~$
Repeated attempts
I’ve found that if I repeat the test over-and-over, then sometimes (<50% of the time), I will be able to click the button. And it appears to help if I click, hold down the touchpad, and move the mouse pointer a few pixels over with the button still depressed – rather than just click/tap on the touchpad.
Context/Versions
Note that the script in the above example execution is a very slightly modified version of what was found in the documentation. but with the title set. Here’s the diff:
(kivymd_test) user@disp3499:/tmp/tmp.YkuCdPN45C$ diff orig.py alertDialogButtonFail.py
0a1
> #!/usr/bin/env python3
26a28
> title="Example Title",
(kivymd_test) user@disp3499:/tmp/tmp.YkuCdPN45C$
When the title is removed, then the buttons work as expected every time.
- OS: Debian 10
- Python: 3.7.3
- Kivy: 1.11.1
- KivyMD: 0.104.1
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 29 (17 by maintainers)
Hi, @maltfield.
This issue was fixed after releasing KivyMD 0.104.1. I can confirm that it works as expected with KivyMD master on Windows 10 and not working properly with KivyMD 0.104.1.
Please install KivyMD from master branch and test again. Report if the bug repeats and I will reopen issue.
@maltfield You, in turn, try to give questions from which the essence of the problem is clear. Your question -
Alert dialog's buttons do nothing- misled not only me.