From ad2ea21379552de35bce4d4f9d82c6832c5d6e83 Mon Sep 17 00:00:00 2001 From: tscholb Date: Wed, 23 Mar 2022 18:24:40 +0900 Subject: [PATCH] Fix build error using keyEvent screen_connector_toolkit_send_key_event() can use over tizen 7.0. so i add some code to avoid crash issue. Change-Id: Ica094abb837ef292bcb21f8377c2315cd9790343 --- packaging/widget-viewer-dali.spec | 4 +++ .../internal/widget_view/widget_view_impl.cpp | 35 +++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/packaging/widget-viewer-dali.spec b/packaging/widget-viewer-dali.spec index bc9971c..9c3b7c9 100644 --- a/packaging/widget-viewer-dali.spec +++ b/packaging/widget-viewer-dali.spec @@ -71,6 +71,10 @@ CXXFLAGS+=" -D_ARCH_ARM_" %define ENABLE_ECOREWL2 Off %endif +%if 0%{?tizen_version_major} >= 7 +CXXFLAGS+=" -DOVER_TIZEN_VERSION_7" +%endif + cd %{_builddir}/%{name}-%{version}/build/tizen MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'` diff --git a/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp b/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp index 15f86e0..1fae55f 100644 --- a/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp +++ b/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp @@ -1215,6 +1215,8 @@ bool WidgetView::OnKeyEvent( const Dali::KeyEvent& event ) return false; } +// Use new keyEvent over tizen_7.0 +#ifdef OVER_TIZEN_VERSION_7 screen_connector_event_type_e type = SCREEN_CONNECTOR_EVENT_TYPE_NONE; switch( event.GetState() ) @@ -1249,8 +1251,41 @@ bool WidgetView::OnKeyEvent( const Dali::KeyEvent& event ) DALI_LOG_RELEASE_INFO("Sync keyEvent Send, type:%d keyCode :%d, name:%s , consumed(%d) \n", type, event.GetKeyCode(), event.GetKeyName().c_str(), consumed); return consumed; + +#else // if not, use existing events + tizen_remote_surface_event_type type = TIZEN_REMOTE_SURFACE_EVENT_TYPE_NONE; + + switch( event.GetState() ) + { + case Dali::KeyEvent::DOWN: + { + type = TIZEN_REMOTE_SURFACE_EVENT_TYPE_KEY_DOWN; + break; + } + case Dali::KeyEvent::UP: + { + type = TIZEN_REMOTE_SURFACE_EVENT_TYPE_KEY_UP; + break; + } + default: + { + return false; + } + } + + tizen_remote_surface_transfer_key_event( mRemoteSurface, + type, + event.GetKeyCode(), + event.GetDeviceClass(), + event.GetDeviceSubclass(), + "", + static_cast< uint32_t >( event.GetTime() ) + ); + return false; +#endif } + void WidgetView::DeleteBuffer(wl_buffer* buffer, WidgetBuffer* widgetBuffer) { bool findBuffer = false; -- 2.34.1