summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Golubev <fatzer2@gmail.com>2024-03-07 22:26:26 +0300
committerMichele Calgaro <michele.calgaro@yahoo.it>2024-03-08 10:52:02 +0900
commitee2df97887ab95cc6d8bc49ee70e03d80b206bd3 (patch)
tree6a4cad3ea33bdfa88572714c71f18c7d39b6f75d
parent9aa03105abc2fa3f72adc74db2d994d400be5a63 (diff)
downloadtqt3-ee2df978.tar.gz
tqt3-ee2df978.zip
Fix compilation with -disable-inputmethod and -no-inputmethod
As for now here are two sets of inputmethod options: - -enable-inputmethod/disable-inputmethod - which seems to supposed to control whether build the 'inputmethod' module or not - -inputmethod/-no-inputmethod - which seems to supposed to enable/disable inputmethod support without changing the ABI. Before the patch both -disable-inputmethod and -no-inputmethod were just breaking the build: -no-inputmethod were disabling some code with support for the module, but didn't disabled the module build itself nor build of plugins. -disable-inputmethod were disabling build of plugins and module, but didn't disabled code depending upon it. It seems the inputmethod support were still WIP when the last release of Qt3 came to be, hence the mess. This patch fixes the build if both -disable-inputmethod AND -no-inputmethod are supplied. Disabling only one is not enough due to tqmake/configure have problems handling two different options of the same name. Later the -inputmethod/-no-inputmethod should be probably removed entirely. Signed-off-by: Alexander Golubev <fatzer2@gmail.com> (cherry picked from commit fad4acbe084403340bb0ee6979ea18db464e7085)
-rw-r--r--src/kernel/ntqwidget.h2
-rw-r--r--src/kernel/qt_kernel.pri10
-rw-r--r--src/kernel/qwidget_x11.cpp8
-rw-r--r--src/tools/ntqglobal.h3
4 files changed, 18 insertions, 5 deletions
diff --git a/src/kernel/ntqwidget.h b/src/kernel/ntqwidget.h
index aec9c6d2..7e589c1a 100644
--- a/src/kernel/ntqwidget.h
+++ b/src/kernel/ntqwidget.h
@@ -52,7 +52,7 @@
#include "ntqsizepolicy.h"
#endif // QT_H
-#if defined(TQ_WS_X11) && !defined(TQT_NO_IM)
+#if defined(TQ_WS_X11)
class TQInputContext;
#endif
diff --git a/src/kernel/qt_kernel.pri b/src/kernel/qt_kernel.pri
index 4f591b03..684866e7 100644
--- a/src/kernel/qt_kernel.pri
+++ b/src/kernel/qt_kernel.pri
@@ -98,10 +98,12 @@ kernel {
$$KERNEL_CPP/qfontengine_p.h \
$$KERNEL_CPP/qtextlayout_p.h
- unix:x11 {
- HEADERS += $$KERNEL_H/ntqinputcontext.h
- } else {
- HEADERS += $$KERNEL_P/qinputcontext_p.h
+ inputmethod {
+ unix:x11 {
+ HEADERS += $$KERNEL_H/ntqinputcontext.h
+ } else {
+ HEADERS += $$KERNEL_P/qinputcontext_p.h
+ }
}
glibmainloop {
diff --git a/src/kernel/qwidget_x11.cpp b/src/kernel/qwidget_x11.cpp
index a5919b83..0591ca4c 100644
--- a/src/kernel/qwidget_x11.cpp
+++ b/src/kernel/qwidget_x11.cpp
@@ -842,11 +842,13 @@ void TQWidget::destroy( bool destroyWindow, bool destroySubWindows )
if( this == icHolderWidget() ) {
destroyInputContext();
} else {
+#ifndef TQT_NO_IM
// release previous focus information participating with
// preedit preservation of qic
TQInputContext *qic = getInputContext();
if ( qic )
qic->releaseComposingWidget( this );
+#endif // TQT_NO_IM
}
}
}
@@ -2932,6 +2934,7 @@ TQInputContext *TQWidget::getInputContext()
{
TQInputContext *qic = 0;
+#ifndef TQT_NO_IM
// #if !defined(TQT_NO_IM_EXTENSIONS)
if ( isInputMethodEnabled() ) {
#if !defined(TQT_NO_IM_EXTENSIONS)
@@ -2943,6 +2946,7 @@ TQInputContext *TQWidget::getInputContext()
qic = (TQInputContext *)topdata->xic;
#endif
}
+#endif // TQT_NO_IM
return qic;
}
@@ -2955,6 +2959,7 @@ TQInputContext *TQWidget::getInputContext()
*/
void TQWidget::changeInputContext( const TQString& identifierName )
{
+#ifndef TQT_NO_IM
TQWidget *icWidget = icHolderWidget();
#if !defined(TQT_NO_IM_EXTENSIONS)
TQInputContext **qicp = &icWidget->ic;
@@ -2973,6 +2978,9 @@ void TQWidget::changeInputContext( const TQString& identifierName )
TQObject::connect( qic, TQ_SIGNAL(deletionRequested()),
icWidget, TQ_SLOT(destroyInputContext()) );
}
+#else
+ (void) identifierName; /* unused */
+#endif // TQT_NO_IM
}
diff --git a/src/tools/ntqglobal.h b/src/tools/ntqglobal.h
index 18aa9238..f83da9d7 100644
--- a/src/tools/ntqglobal.h
+++ b/src/tools/ntqglobal.h
@@ -767,6 +767,9 @@ class TQString;
#ifndef TQT_MODULE_DIALOGS
# define TQT_NO_DIALOG
#endif
+#ifndef TQT_MODULE_INPUTMETHOD
+# define TQT_NO_IM
+#endif
#ifndef TQT_MODULE_WORKSPACE
# define TQT_NO_WORKSPACE
#endif