[haiku-commits] haiku: hrev51662 - src/apps/stylededit

  • From: "" <dmarc-noreply@xxxxxxxxxxxxx> (Redacted sender "janus2" for DMARC)
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 8 Dec 2017 15:09:30 +0100 (CET)

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);


Other related posts: