Hi Simon,

On Tue, Jan 26, 2016 at 06:49:11PM +0100, Simon McVittie wrote:
> On 26/01/16 10:37, Dmitry Shachnev wrote:
>> My point was that Qt main loop is usually used on Windows / OS X but *not*
>> on Debian. Here, Qt is compiled with GLib support and will use GLib main
>> loop unless explicitly asked not to do so (via QT_NO_GLIB=1 env variable).
>> That is a very rare use case and I don't see why one will ever need it.
>
> Am I right in thinking that Qt programs always the same external-facing
> main-loop API, and that results in callbacks being scheduled from GLib's
> GMainContext on Debian under normal circumstances, or from Qt's built-in
> equivalent of GMainContext/libevent/etc. on Windows, OS X, or with
> QT_NO_GLIB?

Right. Applications always use QCoreApplication/QEventLoop, that creates
an event dispatcher internally, which is different on different platforms.

On other platforms it may also use platform-specific dispatchers, though it
is not relevant for us.

For UNIX the logic is at:
https://code.woboq.org/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp.html#489

> dbus-python needs two things to work with a particular main-loop: it
> needs to be told how to make that main-loop monitor libdbus connections
> (a dbus.mainloop.* module), and the application author needs to actually
> be iterating that main-loop.
>
> For GLib, dbus.mainloop.glib is bundled with dbus-python, but the
> application author also needs to iterate the GLib main-loop via PyGI,
> either directly or by using a higher-level API like Gtk or GApplication.
> For Qt, dbus.mainloop.whatever replaces dbus.mainloop.glib (but on
> Debian, dbus.mainloop.glib would also work), and QApplication replaces
> PyGI (but on Debian, PyGI would also work).
>
> The "main loop" terminology for the dbus-python addons is perhaps
> unfortunate; it's really more like "event dispatcher integration glue".

I know — I have been playing with that stuff a bit in past :)

>> If you don't remove these packages from Recommends, then at least please
>> replace them with their modern PyQt5 alternatives, i.e.:
>>
>> python-qt4-dbus → python-dbus.mainloop.pyqt5
>> python3-dbus.mainloop.qt → python3-dbus.mainloop.pyqt5
>
> I've done that in git for now, while we decide whether to remove them
> altogether.

Thanks!

--
Dmitry Shachnev

Attachment: signature.asc
Description: PGP signature

-- 
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-talk

Reply via email to