hrev51662 adds 1 changeset to branch 'master'
old head: 2d104537419645aa15e368c83f42072fdf778df6
new head: da9188ac28c270b636130f7b92e8f5c60c876177
overview:
http://cgit.haiku-os.org/haiku/log/?qt=range&q=da9188ac28c2+%5E2d1045374196
----------------------------------------------------------------------------
da9188ac28c2: StyledEdit: avoid crash on replace window
* Fixes #13842
[ Janus <janus2@xxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev51662
Commit: da9188ac28c270b636130f7b92e8f5c60c876177
URL: http://cgit.haiku-os.org/haiku/commit/?id=da9188ac28c2
Author: Janus <janus2@xxxxxxxxx>
Date: Fri Dec 8 14:03:10 2017 UTC
Ticket: https://dev.haiku-os.org/ticket/13842
----------------------------------------------------------------------------
4 files changed, 17 insertions(+)
src/apps/stylededit/Constants.h | 1 +
src/apps/stylededit/ReplaceWindow.cpp | 10 ++++++++++
src/apps/stylededit/ReplaceWindow.h | 1 +
src/apps/stylededit/StyledEditWindow.cpp | 5 +++++
----------------------------------------------------------------------------
diff --git a/src/apps/stylededit/Constants.h b/src/apps/stylededit/Constants.h
index f72ff04..b7a88f3 100644
--- a/src/apps/stylededit/Constants.h
+++ b/src/apps/stylededit/Constants.h
@@ -44,6 +44,7 @@ const uint32 MSG_REPLACE =
'msre';
const uint32 MSG_REPLACE_ALL = 'mrea';
const uint32 MSG_HIDE_WINDOW = 'mhdw';
const uint32 MSG_FIND_WINDOW_QUIT = 'mfwq';
+const uint32 MSG_REPLACE_WINDOW_QUIT = 'mrwq';
// "Font"-menu
const uint32 FONT_SIZE = 'FMsi';
diff --git a/src/apps/stylededit/ReplaceWindow.cpp
b/src/apps/stylededit/ReplaceWindow.cpp
index 6ab50bc..5702280 100644
--- a/src/apps/stylededit/ReplaceWindow.cpp
+++ b/src/apps/stylededit/ReplaceWindow.cpp
@@ -157,6 +157,16 @@ ReplaceWindow::DispatchMessage(BMessage* message,
BHandler* handler)
}
+bool
+ReplaceWindow::QuitRequested()
+{
+ BMessenger messenger(fHandler);
+ messenger.SendMessage(MSG_REPLACE_WINDOW_QUIT);
+
+ return true;
+}
+
+
void
ReplaceWindow::Show()
{
diff --git a/src/apps/stylededit/ReplaceWindow.h
b/src/apps/stylededit/ReplaceWindow.h
index f4b44cd..1060783 100644
--- a/src/apps/stylededit/ReplaceWindow.h
+++ b/src/apps/stylededit/ReplaceWindow.h
@@ -29,6 +29,7 @@ class ReplaceWindow : public BWindow {
virtual void MessageReceived(BMessage* message);
virtual void DispatchMessage(BMessage* message, BHandler*
handler);
+ virtual bool QuitRequested();
virtual void Show();
private:
diff --git a/src/apps/stylededit/StyledEditWindow.cpp
b/src/apps/stylededit/StyledEditWindow.cpp
index fdc0005..a952074 100644
--- a/src/apps/stylededit/StyledEditWindow.cpp
+++ b/src/apps/stylededit/StyledEditWindow.cpp
@@ -263,6 +263,11 @@ StyledEditWindow::MessageReceived(BMessage* message)
fFindWindow = NULL;
break;
}
+ case MSG_REPLACE_WINDOW_QUIT:
+ {
+ fReplaceWindow = NULL;
+ break;
+ }
case MSG_SEARCH:
message->FindString("findtext", &fStringToFind);
fFindAgainItem->SetEnabled(true);