[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#792208: qt-at-spi: does not show up in KDE/Qt apps



Control: clone -1 -2
Control: reassign -2 qtbase-opensource-src

Hello,

The issue reported below and the corresponding patch also concern the
copy of qt-at-spi embedded in qtbase-opensource-src, could you please
apply the proposed patch there too?

Thanks,
Samuel

Ritesh Raj Sarraf, le Sun 12 Jul 2015 23:12:40 +0530, a écrit :
> Package: qt-at-spi
> Version: 0.3.1-5
> Severity: normal
> Tags: patch
> 
> While trying to figure out why the Caribou On-Screen keyboard does not
> show up for KDE/Qt apps, I stumbled upon this patch from Fedora/Red Hat.
> 
> If applied on top of the current qt-at-spi package in Debian, it shows
> the Caribou on-screen keyboard, for both KDE and Qt apps.
> 
> -- System Information:
> Debian Release: stretch/sid
>   APT prefers testing
>   APT policy: (990, 'testing'), (500, 'unstable'), (101, 'experimental')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
> 
> Kernel: Linux 4.1.2+ (SMP w/4 CPU cores)
> Locale: LANG=en_IN.utf8, LC_CTYPE=en_IN.utf8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
> Init: systemd (via /run/systemd/system)
> 
> Versions of packages qt-at-spi depends on:
> ii  libatspi2.0-0  2.16.0-1
> ii  libc6          2.19-18
> ii  libdbus-1-3    1.8.18-1
> ii  libgcc1        1:5.1.1-12
> ii  libglib2.0-0   2.44.1-1.1
> ii  libqt4-dbus    4:4.8.7+dfsg-1
> ii  libqtcore4     4:4.8.7+dfsg-1
> ii  libqtgui4      4:4.8.7+dfsg-1
> ii  libstdc++6     5.1.1-12
> 
> qt-at-spi recommends no packages.
> 
> qt-at-spi suggests no packages.
> 
> -- no debconf information
Picked up from: https://bugzilla.redhat.com/attachment.cgi?id=865746

This fixes issues with KDE/Qt apps, i.e. the Caribou keyboard now pops up in applications from those toolkits
--- a/src/atspiadaptor.cpp
+++ b/src/atspiadaptor.cpp
@@ -1831,7 +1831,13 @@
     } else if (function == "GetCharacterExtents") {
         int offset = message.arguments().at(0).toInt();
         int coordType = message.arguments().at(1).toUInt();
-        connection.send(message.createReply(getCharacterExtents(interface, offset, coordType)));
+        // connection.send(message.createReply(getCharacterExtents(interface, offset, coordType)));
+	
+        // There is probably a better way to create the list from the rect.
+        QRect rect = getCharacterExtents(interface, offset, coordType);
+        QList<QVariant> variantList = QList<QVariant>();
+        variantList << rect.x() << rect.y() << rect.width() << rect.height();
+        connection.send(message.createReply(variantList));
     } else if (function == "GetDefaultAttributeSet" || function == "GetDefaultAttributes") {
         // GetDefaultAttributes is deprecated in favour of GetDefaultAttributeSet.
         // Empty set seems reasonable. There is no default attribute set.

Reply to: