From aac5eb3852b66e4e03909fa3719a146266b73a90 Mon Sep 17 00:00:00 2001 From: Eunki Hong Date: Thu, 16 Nov 2023 01:33:23 +0900 Subject: [PATCH] Remove build warning at RISCV Resolve 3 kinds of build warning messages 1. -Wpessimizing-move [ 48s] /home/abuild/rpmbuild/BUILD/dali2-adaptor-2.2.52/dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.cpp:543:50: warning: moving a temporary object prevents copy elision [-Wpessimizing-move] [ 48s] 543 | if(tvgDuplicatedObject->composite(std::move(std::unique_ptr(tvgDuplicatedCompositeObject)), static_cast(drawableImpl.GetCompositionType())) != tvg::Result::Success) [ 48s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 48s] /home/abuild/rpmbuild/BUILD/dali2-adaptor-2.2.52/dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.cpp:543:50: note: remove 'std::move' call 2. -Wmaybe-uninitialized [ 48s] /home/abuild/rpmbuild/BUILD/dali2-adaptor-2.2.52/dali/internal/adaptor/tizen-wayland/framework-tizen.cpp:1353:3: warning: 'ret' may be used uninitialized [-Wmaybe-uninitialized] [ 48s] 1353 | if(ret != APP_ERROR_NONE) [ 48s] | ^~ [ 48s] /home/abuild/rpmbuild/BUILD/dali2-adaptor-2.2.52/dali/internal/adaptor/tizen-wayland/framework-tizen.cpp:752:9: note: 'ret' was declared here [ 48s] 752 | int ret; [ 48s] | ^~~ 3. -Wsign-compare [ 116s] /home/abuild/rpmbuild/BUILD/dali2-adaptor-2.2.52/dali/internal/drag-and-drop/tizen-wayland/drag-and-drop-impl-ecore-wl2.cpp:453:18: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] [ 116s] 453 | if(ev->win == mDropWindowTargets[i].windowId) [ 116s] | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TODO : Can we remove deprecated widget application codes? Change-Id: I776de1726c92c2ae4be5519db38a92a0543e4cc0 Signed-off-by: Eunki Hong --- .../dali-adaptor-internal/utc-Dali-FontClient.cpp | 8 ++- .../adaptor/tizen-wayland/framework-tizen.cpp | 17 ++++- .../tizen/canvas-renderer-impl-tizen.cpp | 6 +- .../tizen-wayland/drag-and-drop-impl-ecore-wl2.cpp | 83 ++++++++++++---------- 4 files changed, 69 insertions(+), 45 deletions(-) diff --git a/automated-tests/src/dali-adaptor-internal/utc-Dali-FontClient.cpp b/automated-tests/src/dali-adaptor-internal/utc-Dali-FontClient.cpp index e8d8fdc..547eba9 100644 --- a/automated-tests/src/dali-adaptor-internal/utc-Dali-FontClient.cpp +++ b/automated-tests/src/dali-adaptor-internal/utc-Dali-FontClient.cpp @@ -873,10 +873,16 @@ TextAbstraction::FontId SetupBitmapFont() GlyphDesc(const std::string& url, const std::string& utf8) { this->url = url; + + DALI_ASSERT_ALWAYS(utf8.size() <= 6u); + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstringop-overflow" std::copy(utf8.begin(), utf8.end(), this->utf8); +#pragma GCC diagnostic pop } std::string url; - uint8_t utf8[4]; + uint8_t utf8[6]; }; std::vector glyphs; diff --git a/dali/internal/adaptor/tizen-wayland/framework-tizen.cpp b/dali/internal/adaptor/tizen-wayland/framework-tizen.cpp index 9f9e1ff..50a1a53 100644 --- a/dali/internal/adaptor/tizen-wayland/framework-tizen.cpp +++ b/dali/internal/adaptor/tizen-wayland/framework-tizen.cpp @@ -774,6 +774,11 @@ struct FrameworkTizen::Impl break; } #endif + default: + { + DALI_LOG_ERROR("Invalid app type : %d\n", static_cast(mApplicationType)); + ret = APP_ERROR_NOT_SUPPORTED; + } } return ret; } @@ -804,6 +809,10 @@ struct FrameworkTizen::Impl break; } #endif + default: + { + DALI_LOG_ERROR("Invalid app type : %d\n", static_cast(mApplicationType)); + } } } @@ -1084,7 +1093,7 @@ struct FrameworkTizen::Impl } mUiAppContext->Run(*mFramework->mArgc, *mFramework->mArgv); - return TIZEN_ERROR_NONE; + return APP_ERROR_NONE; } void AppNormalExit() @@ -1122,7 +1131,7 @@ struct FrameworkTizen::Impl if(!IsWidgetFeatureEnabled()) { DALI_LOG_ERROR("widget feature is not supported"); - return 0; + return APP_ERROR_NOT_SUPPORTED; } AppCore::AppAddEventHandler(&handlers[AppCore::LOW_BATTERY], AppCore::LOW_BATTERY, AppBatteryLow, mFramework); @@ -1215,7 +1224,7 @@ struct FrameworkTizen::Impl int AppWatchMain() { - int ret = true; + int ret = APP_ERROR_NOT_SUPPORTED; #ifdef APPCORE_WATCH_AVAILABLE mWatchCallback.create = WatchAppCreate; @@ -1233,6 +1242,8 @@ struct FrameworkTizen::Impl AppCore::AppAddEventHandler(&handlers[AppCore::REGION_FORMAT_CHANGED], AppCore::REGION_FORMAT_CHANGED, AppRegionChanged, mFramework); ret = watch_app_main(*mFramework->mArgc, *mFramework->mArgv, &mWatchCallback, mFramework); +#else + DALI_LOG_ERROR("watch feature is not supported"); #endif return ret; } diff --git a/dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.cpp b/dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.cpp index 3cc3efc..a2f2572 100644 --- a/dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.cpp +++ b/dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2023 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -540,7 +540,7 @@ void CanvasRendererTizen::PushDrawableToGroup(Dali::CanvasRenderer::Drawable& dr } } - if(tvgDuplicatedObject->composite(std::move(std::unique_ptr(tvgDuplicatedCompositeObject)), static_cast(drawableImpl.GetCompositionType())) != tvg::Result::Success) + if(tvgDuplicatedObject->composite(std::unique_ptr(tvgDuplicatedCompositeObject), static_cast(drawableImpl.GetCompositionType())) != tvg::Result::Success) { DALI_LOG_ERROR("Tvg composite fail [%p]\n", this); return; @@ -548,7 +548,7 @@ void CanvasRendererTizen::PushDrawableToGroup(Dali::CanvasRenderer::Drawable& dr } } - if(parent->push(std::move(std::unique_ptr(tvgDuplicatedObject))) != tvg::Result::Success) + if(parent->push(std::unique_ptr(tvgDuplicatedObject)) != tvg::Result::Success) { DALI_LOG_ERROR("Tvg push fail [%p]\n", this); return; diff --git a/dali/internal/drag-and-drop/tizen-wayland/drag-and-drop-impl-ecore-wl2.cpp b/dali/internal/drag-and-drop/tizen-wayland/drag-and-drop-impl-ecore-wl2.cpp index 0d48113..1771ccb 100644 --- a/dali/internal/drag-and-drop/tizen-wayland/drag-and-drop-impl-ecore-wl2.cpp +++ b/dali/internal/drag-and-drop/tizen-wayland/drag-and-drop-impl-ecore-wl2.cpp @@ -38,6 +38,14 @@ namespace Internal { namespace Adaptor { +// Note : The real Ecore_Window type is uintptr_t. +// But a lots of Ecore_Wl2_Event_Dnd_XXX type use window as 'unsigned int' type. +// And ecore_wl2_window_id_get() API return it as 'int' type. +// So dali just keep window id as int type now. +// +// To avoid compile warning, we should convert the type by it. +using EcoreWl2EventDragAndDropWindowIdType = unsigned int; + namespace { static constexpr int32_t DEFAULT_POSITION = -1; @@ -363,37 +371,36 @@ void DragAndDropEcoreWl::ResetDropTargets() } } -static Eina_Bool WriteDelayedDataTofd(void *data, Ecore_Fd_Handler *fd_handler) +static Eina_Bool WriteDelayedDataTofd(void* data, Ecore_Fd_Handler* fd_handler) { - int fd; - size_t len; - DelayedWritingData *slice = (DelayedWritingData*)data; - - fd = ecore_main_fd_handler_fd_get(fd_handler); - if(fd < 0) - { - ecore_main_fd_handler_del(fd_handler); - free(slice->slice.mem); - free(slice); - return EINA_FALSE; - } - - len = write(fd, (char*)slice->slice.mem + slice->writtenBytes, - slice->slice.len - slice->writtenBytes); - - slice->writtenBytes += len; - if(slice->writtenBytes != slice->slice.len) - { - return EINA_TRUE; - } - else - { - ecore_main_fd_handler_del(fd_handler); - free(slice->slice.mem); - free(slice); - if (fd > -1) close(fd); - return EINA_FALSE; - } + int fd; + size_t len; + DelayedWritingData* slice = (DelayedWritingData*)data; + + fd = ecore_main_fd_handler_fd_get(fd_handler); + if(fd < 0) + { + ecore_main_fd_handler_del(fd_handler); + free(slice->slice.mem); + free(slice); + return EINA_FALSE; + } + + len = write(fd, (char*)slice->slice.mem + slice->writtenBytes, slice->slice.len - slice->writtenBytes); + + slice->writtenBytes += len; + if(slice->writtenBytes != slice->slice.len) + { + return EINA_TRUE; + } + else + { + ecore_main_fd_handler_del(fd_handler); + free(slice->slice.mem); + free(slice); + if(fd > -1) close(fd); + return EINA_FALSE; + } } void DragAndDropEcoreWl::SendData(void* event) @@ -413,9 +420,9 @@ void DragAndDropEcoreWl::SendData(void* event) bufferSize += 1; } - DelayedWritingData *data = (DelayedWritingData*)calloc(1, sizeof(DelayedWritingData)); - data->slice.mem = new char[bufferSize]; - data->slice.len = bufferSize; + DelayedWritingData* data = (DelayedWritingData*)calloc(1, sizeof(DelayedWritingData)); + data->slice.mem = new char[bufferSize]; + data->slice.len = bufferSize; memcpy(data->slice.mem, mData.c_str(), dataLength); ((char*)data->slice.mem)[dataLength] = '\0'; @@ -450,7 +457,7 @@ void DragAndDropEcoreWl::ReceiveData(void* event) { for(std::size_t i = 0; i < mDropWindowTargets.size(); i++) { - if(ev->win == mDropWindowTargets[i].windowId) + if(ev->win == static_cast(mDropWindowTargets[i].windowId)) { Dali::DragAndDrop::DragEvent dragEvent(Dali::DragAndDrop::DragType::DROP, mWindowPosition, ev->mimetype, ev->data); mDropWindowTargets[i].callback(dragEvent); @@ -508,7 +515,7 @@ bool DragAndDropEcoreWl::CalculateDragEvent(void* event) for(std::size_t i = 0; i < mDropTargets.size(); i++) { - if(ev->win != mDropTargets[i].parentWindowId) + if(ev->win != static_cast(mDropTargets[i].parentWindowId)) { continue; } @@ -554,7 +561,7 @@ bool DragAndDropEcoreWl::CalculateDragEvent(void* event) for(std::size_t i = 0; i < mDropWindowTargets.size(); i++) { - if(ev->win != mDropWindowTargets[i].windowId) + if(ev->win != static_cast(mDropWindowTargets[i].windowId)) { continue; } @@ -609,7 +616,7 @@ bool DragAndDropEcoreWl::CalculateViewRegion(void* event) for(std::size_t i = 0; i < mDropTargets.size(); i++) { - if(ev->win != mDropTargets[i].parentWindowId) + if(ev->win != static_cast(mDropTargets[i].parentWindowId)) { continue; } @@ -642,7 +649,7 @@ bool DragAndDropEcoreWl::CalculateViewRegion(void* event) for(std::size_t i = 0; i < mDropWindowTargets.size(); i++) { - if(ev->win != mDropWindowTargets[i].windowId) + if(ev->win != static_cast(mDropWindowTargets[i].windowId)) { continue; } -- 2.7.4