From 498cf7736d2558274cda747b4663ef0efbd55603 Mon Sep 17 00:00:00 2001 From: Chulheon Date: Wed, 27 Mar 2013 09:56:43 +0900 Subject: [PATCH] fixed bug (Focus Display, ContextMenu hiding issue) Change-Id: If91e4f32be4016afdac96a435ac9e8bf2965bbc4 --- src/ui/controls/FUiCtrl_Edit.cpp | 2 +- src/ui/controls/FUiCtrl_EditCopyPasteManager.cpp | 4 ++++ src/ui/controls/FUiCtrl_EditPresenter.cpp | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ui/controls/FUiCtrl_Edit.cpp b/src/ui/controls/FUiCtrl_Edit.cpp index 05f0ebf..93e8448 100644 --- a/src/ui/controls/FUiCtrl_Edit.cpp +++ b/src/ui/controls/FUiCtrl_Edit.cpp @@ -1956,7 +1956,7 @@ _Edit::OnFocusLost(const _Control& source) { __internalFocus = false; _pEditPresenter->OnFocusLost(); - Invalidate(); + _Control::OnFocusLost(source); return true; } diff --git a/src/ui/controls/FUiCtrl_EditCopyPasteManager.cpp b/src/ui/controls/FUiCtrl_EditCopyPasteManager.cpp index 9cf9fed..d0bedd0 100755 --- a/src/ui/controls/FUiCtrl_EditCopyPasteManager.cpp +++ b/src/ui/controls/FUiCtrl_EditCopyPasteManager.cpp @@ -1439,6 +1439,10 @@ _EditCopyPasteManager::CreateCopyPastePopup(void) else { + if (editShowAreaAbsRect.height <= 0) + { + return; + } FloatRectangle cursorRect; int cursorPosition = GetCursorPosition(); __pEdit->CalculateAbsoluteCursorBounds(cursorPosition, cursorRect); diff --git a/src/ui/controls/FUiCtrl_EditPresenter.cpp b/src/ui/controls/FUiCtrl_EditPresenter.cpp index 162b9e7..f5248d6 100755 --- a/src/ui/controls/FUiCtrl_EditPresenter.cpp +++ b/src/ui/controls/FUiCtrl_EditPresenter.cpp @@ -4317,6 +4317,8 @@ _EditPresenter::SetText(const String& text) { result r = E_SUCCESS; + InitializeCopyPasteManager(); + int length = text.GetLength(); if ((__pEdit->GetEditStyle() & EDIT_STYLE_FLEXIBLE) || (__pEdit->GetEditStyle() & EDIT_STYLE_VIEWER)) { @@ -5403,6 +5405,8 @@ _EditPresenter::OnFrameRestored(const _Frame& source) bool _EditPresenter::OnFocusLost(void) { + InitializeCopyPasteManager(); + if (__isAutoShrinkEnabled) { FloatRectangle intialWindowBounds = GetInitialBoundsF(); -- 2.7.4