最終更新: 2012-08-10T23:22+0900
Index: sakura_core/CViewCommander.cpp
===================================================================
--- sakura_core/CViewCommander.cpp (リビジョン 55744)
+++ sakura_core/CViewCommander.cpp (リビジョン 55745)
@@ -3035,9 +3035,6 @@
// 2005.06.24 Moca
m_pCommanderView->GetSelectionInfo().DisableSelectArea( bReDraw );
m_pCommanderView->GetSelectionInfo().SetSelectArea( matchLayoutRange );
- if( bReDraw ){
- m_pCommanderView->GetSelectionInfo().DrawSelectArea();
- }
}
/* カーソル移動 */
@@ -3046,6 +3043,15 @@
GetCaret().MoveCursor( matchLayoutRange.GetFrom(), bReDraw );
GetCaret().m_nCaretPosX_Prev = GetCaret().GetCaretLayoutPos().GetX2();
+ if( bReDraw && !keepCurrentSelection ){
+ // keepCurrentSelectionのときは不要っぽい。
+ // ステータスバーに表示される選択領域のサイズが
+ // (たぶんカーソル移動によって)消去されないように
+ // 後ろの方に移動してきた。
+ /* 選択領域描画 */
+ m_pCommanderView->GetSelectionInfo().DrawSelectArea();
+ }
+
/* メッセージ */
if( PointCompare( originalSearchPos, searchPos ) < 0 ) {
m_pCommanderView->SendStatusMessage(_T("▲末尾から再検索しました"));
@@ -3218,10 +3224,6 @@
} else { // マッチ範囲で選択範囲を置き換える。
sel.DisableSelectArea( bRedraw );
sel.SetSelectArea( matchLayoutRange );
- if( bRedraw ){
- /* 選択領域描画 */
- sel.DrawSelectArea();
- }
}
/* カーソル移動 */
@@ -3230,6 +3232,15 @@
GetCaret().MoveCursor( matchLayoutRange.GetFrom(), bRedraw );
GetCaret().m_nCaretPosX_Prev = GetCaret().GetCaretLayoutPos().GetX2();
+ if( bRedraw && !keepCurrentSelection ){
+ // keepCurrentSelectionのときは不要っぽい。
+ // ステータスバーに表示される選択領域のサイズが
+ // (たぶんカーソル移動によって)消去されないように
+ // 後ろの方に移動してきた。
+ /* 選択領域描画 */
+ sel.DrawSelectArea();
+ }
+
/* メッセージ */
if( PointCompare( originalSearchPos, searchPos ) > 0 ) {
m_pCommanderView->SendStatusMessage(_T("▼先頭から再検索しました"));