From 200e0c8d88fc68defebbd7b79fd4d1d2e1b9c6bd Mon Sep 17 00:00:00 2001 From: Markus Mohrhard Date: Sat, 12 Jan 2013 06:39:31 +0100 Subject: fix a bunch of more crashes when setting personas Change-Id: I6c2c398e074a41c3173bff57bc12496b4c2032b4 --- basctl/source/basicide/baside2b.cxx | 16 ++++++++-------- basctl/source/basicide/layout.cxx | 5 +++-- basctl/source/basicide/linenumberwindow.cxx | 3 ++- 3 files changed, 13 insertions(+), 11 deletions(-) (limited to 'basctl') diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx index e4d7350d232d..ffa93e407a2a 100644 --- a/basctl/source/basicide/baside2b.cxx +++ b/basctl/source/basicide/baside2b.cxx @@ -666,8 +666,8 @@ void EditorWindow::DataChanged(DataChangedEvent const & rDCEvt) && (rDCEvt.GetFlags() & SETTINGS_STYLE) != 0) { Color aColor(GetSettings().GetStyleSettings().GetFieldColor()); - if (aColor - != rDCEvt.GetOldSettings()->GetStyleSettings().GetFieldColor()) + const AllSettings* pOldSettings = rDCEvt.GetOldSettings(); + if (!pOldSettings || aColor != pOldSettings->GetStyleSettings().GetFieldColor()) { SetBackground(Wallpaper(aColor)); Invalidate(); @@ -675,8 +675,8 @@ void EditorWindow::DataChanged(DataChangedEvent const & rDCEvt) if (pEditEngine != 0) { aColor = GetSettings().GetStyleSettings().GetFieldTextColor(); - if (aColor != rDCEvt.GetOldSettings()-> - GetStyleSettings().GetFieldTextColor()) + if (!pOldSettings || aColor != + pOldSettings-> GetStyleSettings().GetFieldTextColor()) { Font aFont(pEditEngine->GetFont()); aFont.SetColor(aColor); @@ -1166,8 +1166,8 @@ void BreakPointWindow::DataChanged(DataChangedEvent const & rDCEvt) && (rDCEvt.GetFlags() & SETTINGS_STYLE) != 0) { Color aColor(GetSettings().GetStyleSettings().GetFieldColor()); - if (aColor - != rDCEvt.GetOldSettings()->GetStyleSettings().GetFieldColor()) + const AllSettings* pOldSettings = rDCEvt.GetOldSettings(); + if (!pOldSettings || aColor != pOldSettings->GetStyleSettings().GetFieldColor()) { setBackgroundColor(aColor); Invalidate(); @@ -1690,8 +1690,8 @@ void ComplexEditorWindow::DataChanged(DataChangedEvent const & rDCEvt) && (rDCEvt.GetFlags() & SETTINGS_STYLE) != 0) { Color aColor(GetSettings().GetStyleSettings().GetFaceColor()); - if (aColor - != rDCEvt.GetOldSettings()->GetStyleSettings().GetFaceColor()) + const AllSettings* pOldSettings = rDCEvt.GetOldSettings(); + if (!pOldSettings || aColor != pOldSettings->GetStyleSettings().GetFaceColor()) { SetBackground(Wallpaper(aColor)); Invalidate(); diff --git a/basctl/source/basicide/layout.cxx b/basctl/source/basicide/layout.cxx index e679a4fab431..344345fd3baf 100644 --- a/basctl/source/basicide/layout.cxx +++ b/basctl/source/basicide/layout.cxx @@ -135,13 +135,14 @@ void Layout::DataChanged (DataChangedEvent const& rDCEvt) { bool bInvalidate = false; Color aColor = GetSettings().GetStyleSettings().GetWindowColor(); - if (aColor != rDCEvt.GetOldSettings()->GetStyleSettings().GetWindowColor()) + const AllSettings* pOldSettings = rDCEvt.GetOldSettings(); + if (!pOldSettings || aColor != pOldSettings->GetStyleSettings().GetWindowColor()) { SetBackground(Wallpaper(aColor)); bInvalidate = true; } aColor = GetSettings().GetStyleSettings().GetWindowTextColor(); - if (aColor != rDCEvt.GetOldSettings()->GetStyleSettings().GetWindowTextColor()) + if (!pOldSettings || aColor != pOldSettings->GetStyleSettings().GetWindowTextColor()) { Font aFont(GetFont()); aFont.SetColor(aColor); diff --git a/basctl/source/basicide/linenumberwindow.cxx b/basctl/source/basicide/linenumberwindow.cxx index 6e8107521403..79edc16221eb 100644 --- a/basctl/source/basicide/linenumberwindow.cxx +++ b/basctl/source/basicide/linenumberwindow.cxx @@ -98,7 +98,8 @@ void LineNumberWindow::DataChanged(DataChangedEvent const & rDCEvt) && (rDCEvt.GetFlags() & SETTINGS_STYLE) != 0) { Color aColor(GetSettings().GetStyleSettings().GetFieldColor()); - if (aColor != rDCEvt.GetOldSettings()->GetStyleSettings().GetFieldColor()) + const AllSettings* pOldSettings = rDCEvt.GetOldSettings(); + if (!pOldSettings || aColor != pOldSettings->GetStyleSettings().GetFieldColor()) { SetBackground(Wallpaper(aColor)); Invalidate(); -- cgit