GithubHelp home page GithubHelp logo

fcitx5-qt's Introduction

Fcitx Qt Library

Jenkins Build Status

Coverity Scan Status

Files under qt4/ which include Fcitx5Qt4DBusAddons Library and Input context plugin are released under BSD (See COPYING.BSD). Files under qt5/dbusaddons/ and qt5/platforminputcontext, which include Fcitx5Qt5DBusAddons Library and Qt5 Platform input context plugin, are released under BSD. All other files are released under LGPL2.1+.

fcitx5-qt's People

Contributors

chenshijie-uos avatar darius-kim avatar felixonmars avatar hyyoxhk avatar ilya-fedin avatar khng300 avatar kingysu avatar linyuxuan-font avatar oldherl avatar wengxt avatar xuzhao9 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fcitx5-qt's Issues

Add support for old fcitx4

Certain project like telegram-desktop, want to have a hybrid im module that also works for old fcitx4 (pre 4.2.7).

Fcitx5UtilsConfig.cmake请问这是缺什么

CMake Error at CMakeLists.txt:33 (find_package):
By not providing "FindFcitx5Utils.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Fcitx5Utils", but CMake did not find one.
fcitx5 安装了

Could not find a package configuration file provided by "Fcitx5Utils" with
any of the following names:

Fcitx5UtilsConfig.cmake
fcitx5utils-config.cmake

Add the installation prefix of "Fcitx5Utils" to CMAKE_PREFIX_PATH or set
"Fcitx5Utils_DIR" to a directory containing one of the above files. If
"Fcitx5Utils" provides a separate development package or SDK, be sure it
has been installed.
-- Configuring incomplete, errors occurred!
See also "/home/vpn/workplace/fcitx/fcitx5-qt-75/CMakeFiles/CMakeOutput.log".

Clarify license coverage for other files

The README file only explicitly stated the license of Fcitx5Qt{4,5}DBusAddons Library, Input context plugin and Fcitx5QtWidgetsAddons. It is useful to give a fallback license for other files distributed together within this repo, like adding "and other files are licensed under 3-Clause BSD" or some similar statements within the README file.

Such clarification is meaningful when packaging in distributions like Debian. Thanks very much in advance!

The ENABLE_QT4 macro will defeat the compiling of fcitx5-qt on Ubuntu20.04.

On Ubuntu20.04, the compiling of fcitx5-qt will be defeated by the package dependence checking imposed by the ENABLE_QT4 macro function. The workaround is shown as below:

$ git diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3bab043..87a1284 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -63,10 +63,10 @@ set(Fcitx5Qt6_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}/Fcitx5Qt6)
 set(Fcitx5Qt5_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}/Fcitx5Qt5)
 set(Fcitx5Qt4_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}/Fcitx5Qt4)
 
-if(ENABLE_QT4)
-  find_package(Qt4 ${REQUIRED_QT4_VERSION} REQUIRED)
-  add_subdirectory(qt4)
-endif()
+#if(ENABLE_QT4)
+#  find_package(Qt4 ${REQUIRED_QT4_VERSION} REQUIRED)
+#  add_subdirectory(qt4)
+#endif()
 
 if(ENABLE_QT5)
   find_package(Qt5 ${REQUIRED_QT5_VERSION} CONFIG REQUIRED Core DBus Widgets)

I still don't know how to let it automatically pick up the correct qt version shipped on the system. Any hints will be highly appreciated.

Regards,
HY

在telegram绘制的候选框上移动鼠标导致程序崩溃

1.使用master分支支持客户端绘制候选框的fcitx5
2.在telegram-desktop中输入中文
3.将鼠标指针移动到候选框内
4.telegram-desktop崩溃
telegram-deskto[14973]: segfault at 1e05d7e5c0d ip 00007f3b6dce5a59 sp 00007fff66f30aa8 error 4 cpu 0 in libQt5Widgets.so.5.15.2[7f3b6dc9f000+40f000]
5. 其他QT,KDE,GTK程序没有发现此bug

Thread 1 "telegram-deskto" received signal SIGSEGV, Segmentation fault.
QWidget::isAncestorOf (this=0x7fffe453ffb0, child=0x7fffe0799020) at ../../../qtbase-everywhere-src-5.15.2/src/widgets/kernel/qwidget.cpp:8550
8550	        if (child->isWindow())
(gdb) l
8545	bool QWidget::isAncestorOf(const QWidget *child) const
8546	{
8547	    while (child) {
8548	        if (child == this)
8549	            return true;
8550	        if (child->isWindow())
8551	            return false;
8552	        child = child->parentWidget();
8553	    }
8554	    return false;
(gdb) bt
#0  QWidget::isAncestorOf(QWidget const*) const (this=0x7fffe453ffb0, child=0x7fffe0799020) at ../../../qtbase-everywhere-src-5.15.2/src/widgets/kernel/qwidget.cpp:8550
#1  0x000055555925f84d in Window::TitleWidgetQt::eventFilter(QObject*, QEvent*) ()
#2  0x00007ffff3a98760 in QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#3  0x00007ffff474ecff in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=0x7ffff2f3a030, receiver=0x7fffe0799020, e=0x7fffffffaef0) at ../../../qtbase-everywhere-src-5.15.2/src/widgets/kernel/qapplication.cpp:3603
#4  0x00007ffff47503ce in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffb470, receiver=0x7fffe0799020, e=0x7fffffffaef0) at ../../../qtbase-everywhere-src-5.15.2/src/widgets/kernel/qapplication.cpp:2971
#5  0x00005555580ed993 in Core::Sandbox::notify(QObject*, QEvent*) ()
#6  0x00007ffff3a9854e in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#7  0x00007ffff3ddcc97 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0x7fffdd70ae10) at ../../../qtbase-everywhere-src-5.15.2/src/gui/kernel/qguiapplication.cpp:2282
#8  0x00007ffff3dc07fa in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=...) at ../../../qtbase-everywhere-src-5.15.2/src/gui/kernel/qwindowsysteminterface.cpp:1169
#9  0x00007ffff34ad6ed in  () at /usr/lib/libQt5WaylandClient.so.5
#10 0x00007ffff1e98325 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#11 0x00007ffff1e9873f in  () at /usr/lib/libglib-2.0.so.0
#12 0x00007ffff1e98860 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#13 0x00007ffff3b09cf0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#14 0x00007ffff3a93855 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#15 0x00007ffff3a98bb3 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#16 0x00005555580ec1d4 in Core::Sandbox::start() ()
#17 0x00005555580dce12 in Core::Launcher::exec() ()
#18 0x00005555593ba8eb in main ()

系统:Gentoo Linux amd64

telegram-desktop-2.4.11

cmake文件无法找到Qt5QuickWidgets库

Qt5QuickWidgets已经安装:

库文件在:

/usr/lib/x86_64-linux-gnu/libQt5QuickWidgets.so

但是 cmake 时,报错如下


:~/Downloads/fcitx5-qt-master/build$ cmake ..
-- The C compiler identification is GNU 6.4.0
-- The CXX compiler identification is GNU 6.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29")
-- Found XCB_XCB: /usr/lib/x86_64-linux-gnu/libxcb.so (found version "1.12")
-- Found XCB: /usr/lib/x86_64-linux-gnu/libxcb.so (found version "1.12") found components: XCB
-- Found XKBCommon_XKBCommon: /usr/lib/x86_64-linux-gnu/libxkbcommon.so (found version "0.7.1")
-- Found XKBCommon: /usr/lib/x86_64-linux-gnu/libxkbcommon.so (found suitable version "0.7.1", minimum required is "0.5.0") found components: XKBCommon
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found
-- Found Qt4: /usr/bin/qmake-qt4 (found suitable version "4.8.7", minimum required is "4.8.0")
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:26 (find_package):
Could not find a package configuration file provided by "Qt5QuickWidgets"
with any of the following names:

Qt5QuickWidgetsConfig.cmake
qt5quickwidgets-config.cmake

Add the installation prefix of "Qt5QuickWidgets" to CMAKE_PREFIX_PATH or
set "Qt5QuickWidgets_DIR" to a directory containing one of the above files.
If "Qt5QuickWidgets" provides a separate development package or SDK, be
sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:54 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/lin/Downloads/fcitx5-qt-master/build/CMakeFiles/CMakeOutput.log".
See also "/home/lin/Downloads/fcitx5-qt-master/build/CMakeFiles/CMakeError.log".

fcitx-qt could not work on telegram-desktop

I use ArchLinux and it seems like telegram-desktop is built on qt6 in my distribution.

The package information looks like this:

Name            : telegram-desktop
Version         : 3.7.3-1
Description     : Official Telegram Desktop client
Architecture    : x86_64
URL             : https://desktop.telegram.org/
Licenses        : GPL3
Groups          : None
Provides        : None
Depends On      : hunspell  ffmpeg4.4  hicolor-icon-theme  lz4  minizip  openal  ttf-opensans  qt6-imageformats
                  qt6-svg  qt6-wayland  qt6-5compat  xxhash  glibmm  rnnoise  pipewire  libxtst  libxrandr
                  jemalloc  abseil-cpp  libdispatch
Optional Deps   : webkit2gtk: embedded browser features
                  xdg-desktop-portal: desktop integration
Required By     : None
Optional For    : purpose
Conflicts With  : None
Replaces        : None
Download Size   : 26.22 MiB
Installed Size  : 71.93 MiB
Packager        : Sven-Hendrik Haase <[email protected]>
Build Date      : Thu 28 Apr 2022 07:48:43 AM CST
MD5 Sum         : 4f76a8501312a6e6112cabf7d1976471
SHA-256 Sum     : 15ec24242bd484c98c47a40b8c208babd124398ac9e0d4c2f2634f6a6eec93cf
Signatures      : 39E4B877E62EB915

I am very glad to get any information about the support for fcitx5-qt6 ;)

wrong target in qt6/platforminputcontext/CMakeLists?

Should it be as follow?

diff --git a/qt6/platforminputcontext/CMakeLists.txt b/qt6/platforminputcontext/CMakeLists.txt
index 19ab34a..a42f93f 100644
--- a/qt6/platforminputcontext/CMakeLists.txt
+++ b/qt6/platforminputcontext/CMakeLists.txt
@@ -50,8 +50,8 @@ target_link_libraries(fcitx5platforminputcontextplugin-qt6
                           XKBCommon::XKBCommon
                          )
 if (ENABLE_X11)
-    target_link_libraries(fcitx5platforminputcontextplugin XCB::XCB)
-    target_compile_definitions(fcitx5platforminputcontextplugin PRIVATE "-DENABLE_X11")
+    target_link_libraries(fcitx5platforminputcontextplugin-qt6 XCB::XCB)
+    target_compile_definitions(fcitx5platforminputcontextplugin-qt6 PRIVATE "-DENABLE_X11")
 endif()

 if (ENABLE_QT6_WAYLAND_WORKAROUND)

fcitx5-qt (5.1.0) causes "QSocketNotifier: Can only be used with threads started with QThread" error in KDE wayland session

Hi, I recently upgraded fcitx5-qt on my Arch linux KDE wayland PC (5.0.17 => 5.1.0) and I immediately ran into issue that when running any QT based applications in terminal it throws the error message as mentioned above:

[dev@localhost ~]$ ksshaskpass -v           
QSocketNotifier: Can only be used with threads started with QThread
ksshaskpass 5.27.7

Downgrading it to 5.0.17 yields correct output

[dev@localhost ~]$ ksshaskpass -v           
ksshaskpass 5.27.7

This bug is impacting all qt5 based applications when running from terminal. Worst impacting being ksshaskpass when running throws this error for all git commands and broke some of my workflow which relies on git's clean output without this error. Given the wide impacting of this bug to those who use fcitx (mostly East Asian users I believe) if the fix can be prioritized that would be greatly appreciated. :)

This bug seems to have only impacted wayland session.

Thanks for taking a look in advance.

我尝试编译davinci resolve的qt库,但是link步骤报错

[100%] Linking CXX shared module libfcitx5platforminputcontextplugin.so
cd /home/ray/Downloads/fcitx5/fcitx5-qt/qt5/platforminputcontext && /usr/bin/cmake -E cmake_link_script CMakeFiles/fcitx5platforminputcontextplugin.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -Wall -Wextra  -Wl,--no-undefined -Wl,--as-needed  -shared  -o libfcitx5platforminputcontextplugin.so CMakeFiles/fcitx5platforminputcontextplugin.dir/fcitx5platforminputcontextplugin_autogen/mocs_compilation.cpp.o CMakeFiles/fcitx5platforminputcontextplugin.dir/qfcitxplatforminputcontext.cpp.o CMakeFiles/fcitx5platforminputcontextplugin.dir/qtkey.cpp.o CMakeFiles/fcitx5platforminputcontextplugin.dir/main.cpp.o  -Wl,-rpath,/opt/resolve/libs:/home/ray/Downloads/fcitx5/fcitx5-qt/qt5/dbusaddons: /opt/resolve/libs/libQt5X11Extras.so.5 /usr/lib/libxcb.so ../dbusaddons/libFcitx5Qt5DBusAddons.so.1.0 /usr/lib/libxkbcommon.so /opt/resolve/libs/libQt5Gui.so.5 /opt/resolve/libs/libQt5DBus.so.5 /opt/resolve/libs/libQt5Core.so.5 
/usr/bin/ld: CMakeFiles/fcitx5platforminputcontextplugin.dir/qfcitxplatforminputcontext.cpp.o: in function `fcitx::QFcitxPlatformInputContext::forwardEvent(QWindow*, QKeyEvent const&)':
qfcitxplatforminputcontext.cpp:(.text+0x402c): undefined reference to `QWindowSystemInterface::handleExtendedKeyEvent(QWindow*, unsigned long, QEvent::Type, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short)'
collect2: error: ld returned 1 exit status
make[2]: *** [qt5/platforminputcontext/CMakeFiles/fcitx5platforminputcontextplugin.dir/build.make:156: qt5/platforminputcontext/libfcitx5platforminputcontextplugin.so] Error 1
make[2]: Leaving directory '/home/ray/Downloads/fcitx5/fcitx5-qt'
make[1]: *** [CMakeFiles/Makefile2:325: qt5/platforminputcontext/CMakeFiles/fcitx5platforminputcontextplugin.dir/all] Error 2
make[1]: Leaving directory '/home/ray/Downloads/fcitx5/fcitx5-qt'
make: *** [Makefile:150: all] Error 2

找到这个报错信息

qfcitxplatforminputcontext.cpp:(.text+0x402c): undefined reference to `QWindowSystemInterface::handleExtendedKeyEvent(QWindow*, unsigned long, QEvent::Type, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short)'
collect2: error: ld returned 1 exit status

然后找到这个handleExtendedKeyEvent()我如果吧这个方法注释掉中间步骤会报错,但是最后link成功了,也能切换并输入,但是从这个方法注释掉肯定会跟按键有关的奇怪的事发生,果然不能删除不能修改已经输入的文字

我把已经把link文件里qt库的路径改到了该软件的libs下的.so

我如果用qtcreator自带的库编译和link都没问题

我在本地也能找到这个函数包定义含的头文件

请问大佬这个问题应该怎么办呢,太菜了大佬莫怪

fatal error: QtGui/private/qtguiglobal_p.h: No such file or directory

make output

[ 93%] Building CXX object qt5/platforminputcontext/CMakeFiles/fcitx5platforminputcontextplugin.dir/fcitx5platforminputcontextplugin_autogen/mocs_compilation.cpp.o                           
[ 96%] Building CXX object qt5/platforminputcontext/CMakeFiles/fcitx5platforminputcontextplugin.dir/main.cpp.o
[ 96%] Building CXX object qt5/platforminputcontext/CMakeFiles/fcitx5platforminputcontextplugin.dir/qfcitxplatforminputcontext.cpp.o
In file included from /home/xinyuchen/source/fcitx5-qt/build/qt5/platforminputcontext/fcitx5platforminputcontextplugin_autogen/EWIEGA46WW/../../../../../qt5/platforminputcontext/main.h:12,
                 from /home/xinyuchen/source/fcitx5-qt/build/qt5/platforminputcontext/fcitx5platforminputcontextplugin_autogen/EWIEGA46WW/moc_main.cpp:10,
                 from /home/xinyuchen/source/fcitx5-qt/build/qt5/platforminputcontext/fcitx5platforminputcontextplugin_autogen/mocs_compilation.cpp:2:                                        
/usr/include/qt5/QtGui/5.13.2/QtGui/qpa/qplatforminputcontextplugin_p.h:54:10: fatal error: QtGui/private/qtguiglobal_p.h: No such file or directory                                          
   54 | #include <QtGui/private/qtguiglobal_p.h>                                                                                                                                              
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                              
compilation terminated.                                                                                                                                                                       
make[2]: *** [qt5/platforminputcontext/CMakeFiles/fcitx5platforminputcontextplugin.dir/build.make:83: qt5/platforminputcontext/CMakeFiles/fcitx5platforminputcontextplugin.dir/fcitx5platformi
nputcontextplugin_autogen/mocs_compilation.cpp.o] Error 1                                  

The problem is from qt5/platforminputcontext/qfcitxplatforminputcontext.h line 20

#include <qpa/qplatforminputcontext.h>

On my system, this file is in /usr/include/qt5/QtGui/5.13.2/QtGui/qpa/qplatforminputcontext.h. However, there is a warning message in this file saying

//
//  W A R N I N G
//  -------------
//
// This file is part of the QPA API and is not meant to be used
// in applications. Usage of this API may make your code
// source and binary incompatible with future versions of Qt.
//

I'm not sure where to go from here.


By the way, I'm using Fedora 32, x86_64

Can't build with Qt5 < 5.10

This overload of QMetaObject::invokeMethod was introduced in Qt 5.10, so it can't be built with Qt5 before that.
Should update minimum Qt requirement in CMakeList or change these back to old style.

// Input context may be created without QApplication with wayland, defer it
// to event loop to ensure event dispatcher is avaiable.
QMetaObject::invokeMethod(
this,
[this]() {
watcher_->watch();
fcitx4Watcher_->watch();
},
Qt::QueuedConnection);

QMetaObject::invokeMethod(
this,
[this, window = QPointer<QWindow>(lastWindow_)]() {
if (window != lastWindow_) {
return;
}
update(Qt::ImHints | Qt::ImEnabled);
updateCursorRect();
},
Qt::QueuedConnection);

Font fallback

When typing with fcitx5 IME in a qt application, if a character is not in the font set from the fcitx5 settings, I get a tofu. When the same happens in a gtk application, the character falls back to a different font without this problem. I also don't get colored emoji's either.

Is this repo the source of the problem? Or is it just QT's fallback mechanism causing issues?

Should clarify that I am on wayland.

QT_WAYLAND_FORCE_DPI breaks fcitx5's input window rendering

I'm on Wayfire wayland and display scale=1. I want to set QT_WAYLAND_FORCE_DPI=120 for larger text because some important applications still don't support or have broken support for wayland's native fractional scale. However, it breaks fcitx5's input window rendering (position is wrong, and window cropped like Firefox's popups with fractional scale):

图片

It happens for Telegram and Wireshark which use Qt6. It doesn't happen for fcitx5-configtool which uses Qt5.

fcitx5 is causing telegram to freeze

Describe the bug
I've done a quick search in fcitx5 and qt's issue tracker and didn't find anything. I wonder if I should report here or qt's side.

To Reproduce
Steps to reproduce the behavior:

  1. open telegram
  2. type anything
  3. the telegram window freezes

Desktop (please complete the following information):

  • Desktop: KDE 5.27.8, qt 6.6.0
  • Display server type: Wayland

Additional context

backtrace of telegram
(gdb) bt
#0  0x00007f96ad920f6f in __GI___poll (fds=fds@entry=0x7ffc5e143ef0, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
fcitx/fcitx5#1  0x00007f96b3138b5e in poll (__timeout=-1, __nfds=1, __fds=0x7ffc5e143ef0) at /usr/include/bits/poll2.h:39
fcitx/fcitx5#2  wl_display_poll (display=0x7f969d713000, events=1) at ../wayland-1.22.0/src/wayland-client.c:1914
fcitx/fcitx5#3  wl_display_dispatch_queue (queue=<optimized out>, display=<optimized out>) at ../wayland-1.22.0/src/wayland-client.c:1987
fcitx/fcitx5#4  wl_display_dispatch_queue (display=0x7f969d713000, queue=0x7f969d7130f0) at ../wayland-1.22.0/src/wayland-client.c:1960
fcitx/fcitx5#5  0x00007f969db9df05 in QtWaylandClient::QWaylandDisplay::blockingReadEvents() (this=0x7f969d6cac80)
    at /usr/src/debug/qt6-wayland/qtwayland-everywhere-src-6.6.0/src/client/qwaylanddisplay.cpp:565
fcitx/fcitx5#6  QtWaylandClient::QWaylandShmBackingStore::resize(QSize const&) (this=this@entry=0x7f969b6106e0, size=...)
    at /usr/src/debug/qt6-wayland/qtwayland-everywhere-src-6.6.0/src/client/qwaylandshmbackingstore.cpp:280
fcitx/fcitx5#7  0x00007f969dba0cf8 in QtWaylandClient::QWaylandShmBackingStore::ensureSize() (this=0x7f969b6106e0)
    at /usr/src/debug/qt6-wayland/qtwayland-everywhere-src-6.6.0/src/client/qwaylandshmbackingstore.cpp:197
fcitx/fcitx5#8  QtWaylandClient::QWaylandShmBackingStore::beginPaint(QRegion const&) (this=0x7f969b6106e0, region=...)
    at /usr/src/debug/qt6-wayland/qtwayland-everywhere-src-6.6.0/src/client/qwaylandshmbackingstore.cpp:172
fcitx/fcitx5#9  0x00007f96af2273b6 in QBackingStore::beginPaint(QRegion const&) (this=0x7f9654f34d30, region=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/gui/painting/qbackingstore.cpp:125
fcitx/fcitx5#10 0x00007f969dae76f4 in fcitx::FcitxCandidateWindow::renderNow() (this=this@entry=0x7f9613220580)
    at /usr/src/debug/fcitx5-qt/fcitx5-qt-5.1.1/qt6/platforminputcontext/fcitxcandidatewindow.cpp:140
fcitx/fcitx5#11 0x00007f969daeab84 in fcitx::FcitxCandidateWindow::updateClientSideUI(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)
    (this=<optimized out>, preedit=<optimized out>, cursorpos=<optimized out>, auxUp=<optimized out>, auxDown=<optimized out>, candidates=<optimized out>, candidateIndex=0, layoutHint=0, hasPrev=false, hasNext=true) at /usr/src/debug/fcitx5-qt/fcitx5-qt-5.1.1/qt6/platforminputcontext/fcitxcandidatewindow.cpp:512
fcitx/fcitx5#12 0x00007f969dae4d5c in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2, 3, 4, 5, 6, 7, 8>, QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool>, void, void (fcitx::QFcitxPlatformInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)>::call(void (fcitx::QFcitxPlatformInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), fcitx::QFcitxPlatformInputContext*, void**)
    (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:142
fcitx/fcitx5#13 QtPrivate::FunctionPointer<void (fcitx::QFcitxPlatformInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)>::call<QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool>, void>(void (fcitx::QFcitxPlatformInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), fcitx::QFcitxPlatformInputContext*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>)
    at /usr/include/qt6/QtCore/qobjectdefs_impl.h:182
fcitx/fcitx5#14 QtPrivate::QCallableObject<void (fcitx::QFcitxPlatformInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:520
fcitx/fcitx5#15 0x00007f96ae5b9a59 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7ffc5e144520, r=0x7f969d757a00, this=0x7f968fff7000, this=<optimized out>, r=<optimized out>, a=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobjectdefs_impl.h:433
fcitx/fcitx5#16 doActivate<false>(QObject*, int, void**) (sender=0x7f9632e32de0, signal_index=8, argv=0x7ffc5e144520)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobject.cpp:4021
fcitx/fcitx5#17 0x00007f969dad2e3e in fcitx::HybridInputContext::updateClientSideUI(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)
    (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>, _t4=<optimized out>, _t5=<optimized out>, _t6=<optimized out>, _t7=<optimized out>, _t8=<optimized out>, _t9=<optimized out>)
    at /usr/src/debug/fcitx5-qt/fcitx5-qt-5.1.1/qt6/platforminputcontext/fcitx5platforminputcontextplugin-qt6_autogen/PS6VK7TWHL/moc_hybridinputcontext.cpp:469
fcitx/fcitx5#18 0x00007f969dadb38c in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2, 3, 4, 5, 6, 7, 8>, QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool>, void, void (fcitx::HybridInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)>::call(void (fcitx::HybridInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), fcitx::HybridInputContext*, void**)
--Type <RET> for more, q to quit, c to continue without paging--c
    (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:142
fcitx/fcitx5#19 QtPrivate::FunctionPointer<void (fcitx::HybridInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)>::call<QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool>, void>(void (fcitx::HybridInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), fcitx::HybridInputContext*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:182
fcitx/fcitx5-chewing#1 QtPrivate::QCallableObject<void (fcitx::HybridInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:520
fcitx/fcitx5#21 0x00007f96ae5b9a59 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7ffc5e1446b0, r=0x7f9632e32de0, this=0x7f96928622c0, this=<optimized out>, r=<optimized out>, a=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobjectdefs_impl.h:433
fcitx/fcitx5#22 doActivate<false>(QObject*, int, void**) (sender=0x7f9692862120, signal_index=8, argv=0x7ffc5e1446b0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobject.cpp:4021
fcitx/fcitx5#23 0x00007f969da3753e in fcitx::FcitxQtInputContextProxy::updateClientSideUI(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)
    (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>, _t4=<optimized out>, _t5=<optimized out>, _t6=<optimized out>, _t7=<optimized out>, _t8=<optimized out>, _t9=<optimized out>) at /usr/src/debug/fcitx5-qt/fcitx5-qt-5.1.1/qt6/dbusaddons/Fcitx5Qt6DBusAddons_autogen/EWIEGA46WW/moc_fcitxqtinputcontextproxy.cpp:721
fcitx/fcitx5#24 0x00007f969da56dac in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2, 3, 4, 5, 6, 7, 8>, QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit>, int, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtStringKeyValue>, int, int, bool, bool>, void, void (fcitx::FcitxQtInputContextProxy::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)>::call(void (fcitx::FcitxQtInputContextProxy::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), fcitx::FcitxQtInputContextProxy*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>)
    at /usr/include/qt6/QtCore/qobjectdefs_impl.h:142
fcitx/fcitx5#25 QtPrivate::FunctionPointer<void (fcitx::FcitxQtInputContextProxy::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)>::call<QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit>, int, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtStringKeyValue>, int, int, bool, bool>, void>(void (fcitx::FcitxQtInputContextProxy::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), fcitx::FcitxQtInputContextProxy*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:182
fcitx/fcitx5#26 QtPrivate::QCallableObject<void (fcitx::FcitxQtInputContextProxy::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit>, int, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtStringKeyValue>, int, int, bool, bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
    (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:520
fcitx/fcitx5#27 0x00007f96ae5b9a59 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7ffc5e144840, r=0x7f9692862120, this=0x7f968ff8afc0, this=<optimized out>, r=<optimized out>, a=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobjectdefs_impl.h:433
fcitx/fcitx5#28 doActivate<false>(QObject*, int, void**) (sender=0x7f969238aa00, signal_index=8, argv=0x7ffc5e144840)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobject.cpp:4021
fcitx/fcitx5#29 0x00007f969da378fe in fcitx::FcitxQtInputContextProxyImpl::UpdateClientSideUI(QList<fcitx::FcitxQtFormattedPreedit>, int, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtStringKeyValue>, int, int, bool, bool)
    (this=this@entry=0x7f969238aa00, _t1=..., _t2=<optimized out>, _t3=..., _t4=..., _t5=..., _t6=<optimized out>, _t7=<optimized out>, _t8=<optimized out>, _t9=<optimized out>)
    at /usr/src/debug/fcitx5-qt/fcitx5-qt-5.1.1/qt6/dbusaddons/Fcitx5Qt6DBusAddons_autogen/EWIEGA46WW/moc_fcitxqtinputcontextproxyimpl.cpp:679
fcitx/fcitx5#30 0x00007f969da3d523 in fcitx::FcitxQtInputContextProxyImpl::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)
    (_o=0x7f969238aa00, _c=<optimized out>, _id=<optimized out>, _a=0x7ffc5e144b68) at /usr/include/qt6/QtCore/qarraydata.h:52
fcitx/fcitx5#31 0x00007f969da3f7c3 in fcitx::FcitxQtInputContextProxyImpl::qt_metacall(QMetaObject::Call, int, void**)
    (this=0x7f969238aa00, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7ffc5e144b68)
    at /usr/src/debug/fcitx5-qt/fcitx5-qt-5.1.1/qt6/dbusaddons/Fcitx5Qt6DBusAddons_autogen/EWIEGA46WW/moc_fcitxqtinputcontextproxyimpl.cpp:631
fcitx/fcitx5#32 0x00007f96b2727e4e in QDBusConnectionPrivate::deliverCall(QObject*, int, QDBusMessage const&, QList<QMetaType> const&, int)
    (this=0x7f969b61a540, object=0x7f969238aa00, msg=..., metaTypes=<optimized out>, slotIdx=11) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/dbus/qdbusintegrator.cpp:967
fcitx/fcitx5#33 0x00007f96ae5a5077 in QObject::event(QEvent*) (this=0x7f969238aa00, e=0x7f969b6b95c0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobject.cpp:1437
fcitx/fcitx5#34 0x00007f96b037318b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x7f969d63b000, receiver=receiver@entry=0x7f969238aa00, e=e@entry=0x7f969b6b95c0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/widgets/kernel/qapplication.cpp:3290
fcitx/fcitx5#35 0x00007f96b0374ec9 in QApplication::notify(QObject*, QEvent*) (this=this@entry=0x7ffc5e145490, receiver=receiver@entry=0x7f969238aa00, e=e@entry=0x7f969b6b95c0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/widgets/kernel/qapplication.cpp:3052
fcitx/fcitx5#36 0x000055ee9e386e1f in Core::Sandbox::notifyOrInvoke(QObject*, QEvent*) (e=0x7f969b6b95c0, receiver=0x7f969238aa00, this=0x7ffc5e145490)
    at /usr/src/debug/telegram-desktop/tdesktop-4.10.3-full/Telegram/SourceFiles/core/sandbox.cpp:599
fcitx/fcitx5#37 Core::Sandbox::notify(QObject*, QEvent*) (this=0x7ffc5e145490, receiver=0x7f969238aa00, e=0x7f969b6b95c0)
    at /usr/src/debug/telegram-desktop/tdesktop-4.10.3-full/Telegram/SourceFiles/core/sandbox.cpp:615
fcitx/fcitx5#38 0x00007f96ae5626d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7f969238aa00, event=event@entry=0x7f969b6b95c0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qcoreapplication.cpp:1118
fcitx/fcitx5#39 0x00007f96ae562a5b in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7f969b6b95c0, receiver=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qcoreapplication.cpp:1536
fcitx/fcitx5#40 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x7f969d680b60)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qcoreapplication.cpp:1898
fcitx/fcitx5#41 0x00007f96ae799d24 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=0x0, event_type=0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qcoreapplication.cpp:1757
fcitx/fcitx5#42 postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x7f969d73ef40) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qeventdispatcher_glib.cpp:243
fcitx/fcitx5#43 0x00007f96b010df19 in g_main_dispatch (context=0x7f969b601180) at ../glib/glib/gmain.c:3476
fcitx/fcitx5#44 0x00007f96b016c2b7 in g_main_context_dispatch_unlocked (context=0x7f969b601180) at ../glib/glib/gmain.c:4284
fcitx/fcitx5#45 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7f969b601180, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349
fcitx/fcitx5#46 0x00007f96b010c112 in g_main_context_iteration (context=0x7f969b601180, may_block=1) at ../glib/glib/gmain.c:4414
fcitx/fcitx5#47 0x00007f96ae797934 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f969d726460, flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qeventdispatcher_glib.cpp:393
fcitx/fcitx5#48 0x00007f96ae56cc5e in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=..., this=0x7ffc5e145210)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qeventloop.cpp:100
fcitx/fcitx5#49 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffc5e145210, flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qeventloop.cpp:182
fcitx/fcitx5#50 0x00007f96ae565178 in QCoreApplication::exec() () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/global/qflags.h:74
fcitx/fcitx5#51 0x00007f96b036fd1a in QApplication::exec() () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/widgets/kernel/qapplication.cpp:2569
fcitx/fcitx5#52 0x000055ee9e39f382 in Core::Sandbox::start() (this=0x7ffc5e145490) at /usr/src/debug/telegram-desktop/tdesktop-4.10.3-full/Telegram/SourceFiles/core/sandbox.cpp:181
fcitx/fcitx5#53 Core::Launcher::executeApplication() (this=this@entry=0x7f969d680de0) at /usr/src/debug/telegram-desktop/tdesktop-4.10.3-full/Telegram/SourceFiles/core/launcher.cpp:578
fcitx/fcitx5#54 0x000055ee9e3a03c4 in Core::Launcher::exec() (this=0x7f969d680de0) at /usr/src/debug/telegram-desktop/tdesktop-4.10.3-full/Telegram/SourceFiles/core/launcher.cpp:388
fcitx/fcitx5#55 0x000055ee9d5d3568 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/telegram-desktop/tdesktop-4.10.3-full/Telegram/SourceFiles/main.cpp:12

can't use fcitx5 in qtcreator

I can't use fcitx5 to input Chinese in QtCreator, but fcitx5 can use in other programs.

Manjaro KDE
Qt Version: 5.15.2
use KDE 5.23.4, KDE framwork 5.89.0

readlink("/home/weiminghao/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so", 0x7ffd356bb450, 1023) = -1 EINVAL
openat(AT_FDCWD, "/home/weiminghao/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so", O_RDONLY|O_CLOEXEC) = 6
readlink("/home/weiminghao/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so", 0x7ffd356bb450, 1023) = -1 EINVAL
openat(AT_FDCWD, "/home/weiminghao/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so", O_RDONLY|O_CLOEXEC) = 6

Conditional dependency on QtWayland

c2c2db6 added an unconditional dependency on QtWayland through its headers and the CMake configuration even though all QtWayland-dependent code is guarded by the isWayland_ bool or similar constructs.

What is your opinion on adding a Cmake option(...) to make Wayland support optional at build time?
This would be of benefit to pure X11 users of fcitx.

On another note: The bug linked in the aforementioned commit's message has since been fixed. Maybe this is relevant.

Won't build with older version of QT6

Seems that the following header don't exist with QT6 < 6.6.0

#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
#include <QtWaylandClient/private/qwayland-xdg-shell.h>
#endif

This cause building to fail with error message:

In file included from /builddir/build/BUILD/fcitx5-qt-5.1.2/redhat-linux-build/qt6/platforminputcontext/fcitx5platforminputcontextplugin-qt6_autogen/PS6VK7TWHL/moc_fcitxcandidatewindow.cpp:9,
                 from /builddir/build/BUILD/fcitx5-qt-5.1.2/redhat-linux-build/qt6/platforminputcontext/fcitx5platforminputcontextplugin-qt6_autogen/mocs_compilation.cpp:6:
/builddir/build/BUILD/fcitx5-qt-5.1.2/redhat-linux-build/qt6/platforminputcontext/fcitx5platforminputcontextplugin-qt6_autogen/PS6VK7TWHL/../../../../../qt6/platforminputcontext/fcitxcandidatewindow.h:23:10: fatal error: QtWaylandClient/private/qwayland-xdg-shell.h: No such file or directory
   23 | #include <QtWaylandClient/private/qwayland-xdg-shell.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

fcitx5-configtool does not run without qt5-x11extras

After the commit of 47628ac,
the qt5-x11extras has been removed from my system (archlinux+xfce), cause it does not depended by any other packages.
But in this case, fcitx5-configtool will not run corectly by missing libQt5X11Extras.so.5.

$ fcitx5-configtool
fcitx5-config-qt: error while loading shared libraries: libQt5X11Extras.so.5: cannot open shared object file: No such file or directory

kate退出时崩溃

sway, fcitx5-qt master分支

* thread #1, name = 'kate', stop reason = signal SIGSEGV
  * frame #0: 0x00007f0672fdb867 libfcitx5platforminputcontextplugin.so`QtPrivate::QFunctorSlotObject<fcitx::FcitxCandidateWindow::FcitxCandidateWindow(fcitx::FcitxQtICData*, fcitx::FcitxTheme*)::$_1, 1, QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [inlined] QWeakPointer<QObject>::internalData(this=0x00007f0662c44778) const at qsharedpointer_impl.h:698:16
    frame #1: 0x00007f0672fdb867 libfcitx5platforminputcontextplugin.so`QtPrivate::QFunctorSlotObject<fcitx::FcitxCandidateWindow::FcitxCandidateWindow(fcitx::FcitxQtICData*, fcitx::FcitxTheme*)::$_1, 1, QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [inlined] QPointer<fcitx::FcitxCandidateWindow>::data(this=0x00007f0662c44778) const at qpointer.h:77
    frame #2: 0x00007f0672fdb867 libfcitx5platforminputcontextplugin.so`QtPrivate::QFunctorSlotObject<fcitx::FcitxCandidateWindow::FcitxCandidateWindow(fcitx::FcitxQtICData*, fcitx::FcitxTheme*)::$_1, 1, QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [inlined] QPointer<fcitx::FcitxCandidateWindow>::operator fcitx::FcitxCandidateWindow*(this=0x00007f0662c44778) const at qpointer.h:83
    frame #3: 0x00007f0672fdb867 libfcitx5platforminputcontextplugin.so`QtPrivate::QFunctorSlotObject<fcitx::FcitxCandidateWindow::FcitxCandidateWindow(fcitx::FcitxQtICData*, fcitx::FcitxTheme*)::$_1, 1, QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [inlined] fcitx::FcitxQtICData::resetCandidateWindow(this=0x00007f0662c44728) at qfcitxplatforminputcontext.h:62
    frame #4: 0x00007f0672fdb867 libfcitx5platforminputcontextplugin.so`QtPrivate::QFunctorSlotObject<fcitx::FcitxCandidateWindow::FcitxCandidateWindow(fcitx::FcitxQtICData*, fcitx::FcitxTheme*)::$_1, 1, QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [inlined] fcitx::FcitxCandidateWindow::FcitxCandidateWindow(this=<unavailable>, avail=<unavailable>)::$_1::operator()(bool) const at fcitxcandidatewindow.cpp:109
    frame #5: 0x00007f0672fdb867 libfcitx5platforminputcontextplugin.so`QtPrivate::QFunctorSlotObject<fcitx::FcitxCandidateWindow::FcitxCandidateWindow(fcitx::FcitxQtICData*, fcitx::FcitxTheme*)::$_1, 1, QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [inlined] QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, fcitx::FcitxCandidateWindow::FcitxCandidateWindow(fcitx::FcitxQtICData*, fcitx::FcitxTheme*)::$_1>::call(f=<unavailable>, arg=<unavailable>)::$_1&, void**) at qobjectdefs_impl.h:146
    frame #6: 0x00007f0672fdb867 libfcitx5platforminputcontextplugin.so`QtPrivate::QFunctorSlotObject<fcitx::FcitxCandidateWindow::FcitxCandidateWindow(fcitx::FcitxQtICData*, fcitx::FcitxTheme*)::$_1, 1, QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [inlined] void QtPrivate::Functor<fcitx::FcitxCandidateWindow::FcitxCandidateWindow(fcitx::FcitxQtICData*, fcitx::FcitxTheme*)::$_1, 1>::call<QtPrivate::List<bool>, void>(f=<unavailable>, (null)=<unavailable>, arg=<unavailable>)::$_1&, void*, void**) at qobjectdefs_impl.h:256
    frame #7: 0x00007f0672fdb867 libfcitx5platforminputcontextplugin.so`QtPrivate::QFunctorSlotObject<fcitx::FcitxCandidateWindow::FcitxCandidateWindow(fcitx::FcitxQtICData*, fcitx::FcitxTheme*)::$_1, 1, QtPrivate::List<bool>, void>::impl(which=1, this_=0x00007f06621b9cd0, r=0x00007f0662ddf910, a=0x00007ffc06067790, ret=0x0000000000000000) at qobjectdefs_impl.h:443
    frame #8: 0x00007f0677184092 libQt5Core.so.5`void doActivate<false>(QObject*, int, void**) [inlined] QtPrivate::QSlotObjectBase::call(this=<unavailable>, r=<unavailable>, a=<unavailable>) at qobjectdefs_impl.h:398:51
    frame #9: 0x00007f067718407c libQt5Core.so.5`void doActivate<false>(sender=0x00007f0678124cb0, signal_index=3, argv=0x00007ffc06067790) at qobject.cpp:3886
    frame #10: 0x00007f0672faf3a3 libFcitx5Qt5DBusAddons.so.1`fcitx::FcitxQtWatcher::unwatch() [inlined] fcitx::FcitxQtWatcher::availabilityChanged(this=0x00007f0678124cb0, _t1=<unavailable>) at moc_fcitxqtwatcher.cpp:143:5
    frame #11: 0x00007f0672faf382 libFcitx5Qt5DBusAddons.so.1`fcitx::FcitxQtWatcher::unwatch() [inlined] fcitx::FcitxQtWatcher::setAvailability(this=<unavailable>, availability=<unavailable>) at fcitxqtwatcher.cpp:67
    frame #12: 0x00007f0672faf376 libFcitx5Qt5DBusAddons.so.1`fcitx::FcitxQtWatcher::unwatch() [inlined] fcitx::FcitxQtWatcher::updateAvailability(this=<unavailable>) at fcitxqtwatcher.cpp:138
    frame #13: 0x00007f0672faf36a libFcitx5Qt5DBusAddons.so.1`fcitx::FcitxQtWatcher::unwatch(this=<unavailable>) at fcitxqtwatcher.cpp:108
    frame #14: 0x00007f0672fcfdc2 libfcitx5platforminputcontextplugin.so`fcitx::QFcitxPlatformInputContext::~QFcitxPlatformInputContext(this=0x00007f0673688e30) at qfcitxplatforminputcontext.cpp:177:15
    frame #15: 0x00007f0672fd0189 libfcitx5platforminputcontextplugin.so`fcitx::QFcitxPlatformInputContext::~QFcitxPlatformInputContext(this=0x00007f0673688e30) at qfcitxplatforminputcontext.cpp:175:59
    frame #16: 0x00007f067360bcf9 libQt5WaylandClient.so.5`QtWaylandClient::QWaylandIntegration::~QWaylandIntegration() [inlined] QScopedPointerDeleter<QPlatformInputContext>::cleanup(pointer=<unavailable>) at qscopedpointer.h:60:9
    frame #17: 0x00007f067360bcee libQt5WaylandClient.so.5`QtWaylandClient::QWaylandIntegration::~QWaylandIntegration() at qscopedpointer.h:107
    frame #18: 0x00007f067360bcea libQt5WaylandClient.so.5`QtWaylandClient::QWaylandIntegration::~QWaylandIntegration(this=0x00007f06786a5940) at qwaylandintegration.cpp:132
    frame #19: 0x00007f0673012bc9 libqwayland-egl.so`QtWaylandClient::QWaylandEglPlatformIntegration::~QWaylandEglPlatformIntegration(this=0x00007f06786a5940) at qwaylandeglplatformintegration.h:51:7
    frame #20: 0x00007f067752e63f libQt5Gui.so.5`QGuiApplicationPrivate::~QGuiApplicationPrivate(this=0x00007f0678c6f340) at qguiapplication.cpp:1728:5
    frame #21: 0x00007f0677c74b49 libQt5Widgets.so.5`QApplicationPrivate::~QApplicationPrivate(this=0x00007f0678c6f340) at qapplication.cpp:160:1
    frame #22: 0x00007f067717832f libQt5Core.so.5`QObject::~QObject() [inlined] QScopedPointerDeleter<QObjectData>::cleanup(pointer=<unavailable>) at qscopedpointer.h:60:9
    frame #23: 0x00007f0677178324 libQt5Core.so.5`QObject::~QObject() at qscopedpointer.h:107
    frame #24: 0x00007f0677178320 libQt5Core.so.5`QObject::~QObject(this=0x00007ffc06067b60) at qobject.cpp:1094
    frame #25: 0x00007f0677c76bc2 libQt5Widgets.so.5`QApplication::~QApplication(this=0x00007ffc06067b60) at qapplication.cpp:771:1
    frame #26: 0x000055bb819daca6 kate`___lldb_unnamed_symbol3$$kate + 32006
    frame #27: 0x00007f0679262589 ld-musl-x86_64.so.1`libc_start_main_stage2(main=(kate`___lldb_unnamed_symbol3$$kate), argc=<unavailable>, argv=0x00007ffc06067c08) at __libc_start_main.c:94:7
    frame #28: 0x000055bb819d2ed6 kate`_start + 22

Candidate window on 2x HiDPI screen is stretched 2x with Qt 6.5 and KWin 5.27

Fcitx5's candidate window starts appearing overly large and blurry after wayland fractional scaling is supported by both Qt and KWin:

image

This is Qt 6.5.0b2 on KWin 5.26.90, on a 4K 200% HiDPI screen. If I disable fractional scaling support in KWin (by commenting out the new FractionalScaleManagerV1Interface line in kwin/src/wayland_server.cpp), the candidate window size returns to normal.

静态导入 无法切换输入法

编译方式
cmake -DENABLE_QT4=Off -DBUILD_ONLY_PLUGIN=On -DBUILD_STATIC_PLUGIN=On .
生成了静态的.a文件

新建qt测试项目

导入头文件
#include
Q_IMPORT_PLUGIN(QComposePlatformInputContextPlugin)
Q_IMPORT_PLUGIN(QIbusPlatformInputContextPlugin)
Q_IMPORT_PLUGIN(QFcitx5PlatformInputContextPlugin)

pro增加依赖
LIBS += /opt/github/fcitx5-qt/qt5/platforminputcontext/libfcitx5platforminputcontextplugin.a
LIBS += /opt/github/fcitx5-qt/qt5/dbusaddons/libFcitx5Qt5DBusAddons.a

在ui中增加文本输入框。编译链接后:
1:无法正常切换输入法
2:手动切换到谷歌拼音,也无法正常输入中文。

Is there a bug? Maybe Impress in Libreoffice conflicts with fcitx5-qt.

I'm a fcitx5 user on Manjaro and loves this wonderful input method application, but Maybe there is a bug in it.
When I opened a libreoffice-impress document, and clicked some text box or input some words, and made impress to lose its focus(such as switching to another application), and clicked some text box in Impress again(that is to say, gained the focus again), impress crashes.


The issue also exists in fcitx-qt5,but it did not occur when I downgraded fcitx-qt5 from 1.2.5 to 1.2.4.

I'm using KF5 on Manjaro 20.1.1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.