fcitx5-qt: fix vtable undefined reference

This commit is contained in:
Đoàn Trần Công Danh 2023-08-29 09:07:37 +07:00
parent 7f33c2012e
commit bd9a3a4ce3
2 changed files with 97 additions and 4 deletions

View File

@ -0,0 +1,90 @@
diff --git a/qt5/platforminputcontext/fcitx4inputcontextproxy.h b/qt5/platforminputcontext/fcitx4inputcontextproxy.h
index 650c27f..6c530ae 100644
--- a/qt5/platforminputcontext/fcitx4inputcontextproxy.h
+++ b/qt5/platforminputcontext/fcitx4inputcontextproxy.h
@@ -25,7 +25,7 @@ class Fcitx4InputContextProxy : public QObject {
Q_OBJECT
public:
Fcitx4InputContextProxy(Fcitx4Watcher *watcher, QObject *parent);
- ~Fcitx4InputContextProxy();
+ virtual ~Fcitx4InputContextProxy();
bool isValid() const;
void setDisplay(const QString &display);
diff --git a/qt5/platforminputcontext/fcitx4inputmethodproxy.h b/qt5/platforminputcontext/fcitx4inputmethodproxy.h
index 2354bde..94e6978 100644
--- a/qt5/platforminputcontext/fcitx4inputmethodproxy.h
+++ b/qt5/platforminputcontext/fcitx4inputmethodproxy.h
@@ -39,7 +39,7 @@ public:
const QDBusConnection &connection,
QObject *parent = nullptr);
- ~Fcitx4InputMethodProxy();
+ virtual ~Fcitx4InputMethodProxy();
public Q_SLOTS: // METHODS
inline QDBusPendingReply<int, bool, unsigned int, unsigned int,
diff --git a/qt5/platforminputcontext/fcitx4watcher.h b/qt5/platforminputcontext/fcitx4watcher.h
index df4dbfd..05a9ed2 100644
--- a/qt5/platforminputcontext/fcitx4watcher.h
+++ b/qt5/platforminputcontext/fcitx4watcher.h
@@ -25,7 +25,7 @@ class Fcitx4Watcher : public QObject {
public:
explicit Fcitx4Watcher(QDBusConnection sessionBus,
QObject *parent = nullptr);
- ~Fcitx4Watcher();
+ virtual ~Fcitx4Watcher();
void watch();
void unwatch();
diff --git a/qt5/platforminputcontext/fcitxcandidatewindow.h b/qt5/platforminputcontext/fcitxcandidatewindow.h
index 2f4e4a7..2e3d566 100644
--- a/qt5/platforminputcontext/fcitxcandidatewindow.h
+++ b/qt5/platforminputcontext/fcitxcandidatewindow.h
@@ -30,7 +30,7 @@ class FcitxCandidateWindow : public QWindow {
public:
explicit FcitxCandidateWindow(QWindow *window,
QFcitxPlatformInputContext *context);
- ~FcitxCandidateWindow();
+ virtual ~FcitxCandidateWindow();
void render(QPainter *painter);
diff --git a/qt5/platforminputcontext/fcitxtheme.h b/qt5/platforminputcontext/fcitxtheme.h
index 170d07d..0302fcf 100644
--- a/qt5/platforminputcontext/fcitxtheme.h
+++ b/qt5/platforminputcontext/fcitxtheme.h
@@ -61,7 +61,7 @@ class FcitxTheme : public QObject {
Q_OBJECT
public:
FcitxTheme(QObject *parent = nullptr);
- ~FcitxTheme();
+ virtual ~FcitxTheme();
void paint(QPainter *painter, const BackgroundImage &image, QRect region);
void paint(QPainter *painter, const ActionImage &image, QPoint position,
diff --git a/qt5/platforminputcontext/hybridinputcontext.cpp b/qt5/platforminputcontext/hybridinputcontext.cpp
index ff2aa64..aedd2ab 100644
--- a/qt5/platforminputcontext/hybridinputcontext.cpp
+++ b/qt5/platforminputcontext/hybridinputcontext.cpp
@@ -33,6 +33,8 @@ HybridInputContext::HybridInputContext(FcitxQtWatcher *watcher,
recheck();
}
+HybridInputContext::~HybridInputContext() = default;
+
void HybridInputContext::recheck() { timer_.start(); }
void HybridInputContext::doRecheck(bool skipFcitx5) {
diff --git a/qt5/platforminputcontext/hybridinputcontext.h b/qt5/platforminputcontext/hybridinputcontext.h
index 5ecfb79..6be52dd 100644
--- a/qt5/platforminputcontext/hybridinputcontext.h
+++ b/qt5/platforminputcontext/hybridinputcontext.h
@@ -25,6 +25,7 @@ class HybridInputContext : public QObject {
public:
HybridInputContext(FcitxQtWatcher *watcher, Fcitx4Watcher *fcitx4Watcher,
QObject *parent);
+ virtual ~HybridInputContext();
void focusIn();
void focusOut();

View File

@ -1,9 +1,10 @@
# Template file for 'fcitx5-qt'
pkgname=fcitx5-qt
version=5.1.0
revision=1
revision=2
build_style=cmake
configure_args="-DENABLE_QT4=OFF -DENABLE_QT5=ON
-DCMAKE_INSTALL_QT6PLUGINDIR=/usr/lib/qt6/plugins
-DENABLE_QT6=ON -DQT_HOST_PATH=/usr"
hostmakedepends="cldr-emoji-annotation pkg-config gettext doxygen
extra-cmake-modules qt5-qmake qt5-host-tools qt6-base"
@ -17,9 +18,9 @@ distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-qt/fcitx5-qt-${version}.t
checksum=f054e482a1743080651ae34bfe156e150f628c4181210e03ac50d30a1cfff609
lib32disabled=yes
if [ "$XBPS_WORDSIZE" != "$XBPS_TARGET_WORDSIZE" ]; then
nocross="https://build.voidlinux.org/builders/armv7l-musl_builder/builds/46991/steps/shell_3/logs/stdio"
fi
post_patch() {
sed -i ';' qt6/platforminputcontext/*
}
post_install() {
local _file
@ -35,6 +36,7 @@ fcitx5-qt5_package() {
depends="fcitx5-qt-${version}_${revision}"
short_desc+="5"
pkg_install() {
vmove usr/bin/fcitx5-qt5-*
vmove usr/lib/fcitx5/qt5
vmove usr/lib/qt5
vmove "usr/libexec/*qt5-*"
@ -57,6 +59,7 @@ fcitx5-qt6_package() {
depends="fcitx5-qt-${version}_${revision}"
short_desc+="6"
pkg_install() {
vmove usr/bin/fcitx5-qt6-*
vmove usr/lib/qt6
vmove "usr/lib/*Qt6*.so.*"
}