Author: phoudoin Date: 2011-02-24 19:23:46 +0100 (Thu, 24 Feb 2011) New Revision: 40670 Changeset: http://dev.haiku-os.org/changeset/40670 Modified: haiku/trunk/src/apps/people/PersonWindow.cpp Log: As spotted by Stephan, pulled out items enabling/disabling of the if block, as menu items must be updated even when the focus is not a text view! Thanks. Modified: haiku/trunk/src/apps/people/PersonWindow.cpp =================================================================== --- haiku/trunk/src/apps/people/PersonWindow.cpp 2011-02-24 18:14:08 UTC (rev 40669) +++ haiku/trunk/src/apps/people/PersonWindow.cpp 2011-02-24 18:23:46 UTC (rev 40670) @@ -129,22 +129,26 @@ fSave->SetEnabled(enabled); fRevert->SetEnabled(enabled); + bool isRedo = false; + bool undoEnabled = false; + bool cutAndCopyEnabled = false; + BTextView* textView = dynamic_cast<BTextView*>(CurrentFocus()); if (textView != NULL) { - bool isRedo = false; undo_state state = textView->UndoState(&isRedo); - fUndo->SetEnabled(state != B_UNDO_UNAVAILABLE); + undoEnabled = state != B_UNDO_UNAVAILABLE; - if (isRedo) - fUndo->SetLabel(B_TRANSLATE("Redo")); - else - fUndo->SetLabel(B_TRANSLATE("Undo")); - - enabled = fView->IsTextSelected(); - fCut->SetEnabled(enabled); - fCopy->SetEnabled(enabled); + cutAndCopyEnabled = fView->IsTextSelected(); } + if (isRedo) + fUndo->SetLabel(B_TRANSLATE("Redo")); + else + fUndo->SetLabel(B_TRANSLATE("Undo")); + fUndo->SetEnabled(undoEnabled); + fCut->SetEnabled(cutAndCopyEnabled); + fCopy->SetEnabled(cutAndCopyEnabled); + be_clipboard->Lock(); fPaste->SetEnabled(be_clipboard->Data()->HasData("text/plain", B_MIME_TYPE)); be_clipboard->Unlock();