diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2017-02-24 18:08:39 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2017-03-01 13:47:43 +0100 |
commit | 9c0aee4b11ea5ba79d65922282b9e3d4eb4d1928 (patch) | |
tree | 59d0453d304f3d1422f7d5f985453f208c480991 /svx | |
parent | 0e62aa345931b2e815e874ac7ee339d369444450 (diff) |
prevent crash in PaletteManager
Found by the crashreporter:
http://crashreport.libreoffice.org/stats/signature/PaletteManager::ReloadColorSet(SvxColorValueSet%20&)
Change-Id: I82c5e3f7588615700ec3b5540ac94e331df783bb
Reviewed-on: https://gerrit.libreoffice.org/34627
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
(cherry picked from commit ece3c97ca6c9aaffbf9dd51785ae2f1d4d3e2c9b)
Reviewed-on: https://gerrit.libreoffice.org/34634
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 5b76c743488b1e206cfe40a5ed087b3a0ceaa1d8)
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/tbxctrls/PaletteManager.cxx | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/svx/source/tbxctrls/PaletteManager.cxx b/svx/source/tbxctrls/PaletteManager.cxx index 1dc3a46ac7b7..bdd97018135e 100644 --- a/svx/source/tbxctrls/PaletteManager.cxx +++ b/svx/source/tbxctrls/PaletteManager.cxx @@ -120,8 +120,6 @@ void PaletteManager::LoadPalettes() void PaletteManager::ReloadColorSet(SvxColorValueSet &rColorSet) { - SfxObjectShell* pDocSh = SfxObjectShell::Current(); - if( mnCurrentPalette == 0) { rColorSet.Clear(); @@ -138,10 +136,14 @@ void PaletteManager::ReloadColorSet(SvxColorValueSet &rColorSet) else if( mnCurrentPalette == mnNumOfPalettes - 1 ) { // Add doc colors to palette - std::set<Color> aColors = pDocSh->GetDocColors(); - mnColorCount = aColors.size(); - rColorSet.Clear(); - rColorSet.addEntriesForColorSet(aColors, SVX_RESSTR( RID_SVXSTR_DOC_COLOR_PREFIX ) + " " ); + SfxObjectShell* pDocSh = SfxObjectShell::Current(); + if (pDocSh) + { + std::set<Color> aColors = pDocSh->GetDocColors(); + mnColorCount = aColors.size(); + rColorSet.Clear(); + rColorSet.addEntriesForColorSet(aColors, SVX_RESSTR( RID_SVXSTR_DOC_COLOR_PREFIX ) + " " ); + } } else { |