diff --git a/src/controls/QskQuick.cpp b/src/controls/QskQuick.cpp index aa6d4d60..e312a770 100644 --- a/src/controls/QskQuick.cpp +++ b/src/controls/QskQuick.cpp @@ -162,8 +162,11 @@ QQuickItem* qskInputContextItem() without losing the connected input item */ - QMetaObject::invokeMethod( inputContext, "inputItem", - Qt::DirectConnection, Q_RETURN_ARG( QQuickItem*, inputItem ) ); + if ( inputContext->metaObject()->indexOfMethod( "inputItem()" ) >= 0 ) + { + QMetaObject::invokeMethod( inputContext, "inputItem", + Qt::DirectConnection, Q_RETURN_ARG( QQuickItem*, inputItem ) ); + } } return inputItem; diff --git a/src/inputpanel/QskInputContext.cpp b/src/inputpanel/QskInputContext.cpp index cbe56751..7a903b47 100644 --- a/src/inputpanel/QskInputContext.cpp +++ b/src/inputpanel/QskInputContext.cpp @@ -401,10 +401,13 @@ void QskInputContext::setActive( bool on ) bool QskInputContext::isActive() const { - if ( auto panel = inputPanel() ) + if ( m_data->inputEngine ) { - return panel && panel->isVisible() - && panel->window() && panel->window()->isVisible(); + if ( auto panel = m_data->inputEngine->panel( false ) ) + { + return panel->isVisible() + && panel->window() && panel->window()->isVisible(); + } } return false; diff --git a/src/inputpanel/QskInputEngine.h b/src/inputpanel/QskInputEngine.h index 1882eafc..5e3898ed 100644 --- a/src/inputpanel/QskInputEngine.h +++ b/src/inputpanel/QskInputEngine.h @@ -51,11 +51,11 @@ protected: virtual void setPredictionEnabled( bool on ); virtual void showPrediction( const QStringList& ); -private: void applyInput( bool success ); void applyText( const QString&, bool isFinal ); void applyKey( int keyCode ); +private: void resetPredictor( const QLocale& ); void updatePrediction();