diff options
author | Julien Nabet <serval2412@yahoo.fr> | 2015-09-01 22:52:13 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-09-03 11:08:48 +0000 |
commit | db9f846abfc683c622375191edb6ae9bf348f6e7 (patch) | |
tree | 0bea7cf061fae80aef4a8ea1733e4061f254a07e | |
parent | 20348de1d5ce4ded0b6c71fcc927ec4e007d61e7 (diff) |
tdf#85303: SLIDESHOW cannot start at selected slide sometimes
When Slide Show/Slide Show Settings is selected and Ok button is clicked
the slide from "From" list box is stored in maPresPage and the fact that
this var is not empty makes slideshow considers it must be used.
So 2 things must be done:
1) Check first if "All Slides" has been selected
In this case, don't read slide from "From" in next block (ATTR_PRESENT_DIANAME)
and so let maPresPage empty
2) Empty maPresPage if "All Slides" has been selected to remove
any existing value
Change-Id: I6042ae2db6260e1f441a1c9db90f5de6de966f2a
Reviewed-on: https://gerrit.libreoffice.org/18253
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | sd/source/ui/func/fusldlg.cxx | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/sd/source/ui/func/fusldlg.cxx b/sd/source/ui/func/fusldlg.cxx index 870e44567b6b..452ea9a22610 100644 --- a/sd/source/ui/func/fusldlg.cxx +++ b/sd/source/ui/func/fusldlg.cxx @@ -120,18 +120,23 @@ void FuSlideShowDlg::DoExecute( SfxRequest& ) pDlg->GetAttr( aDlgSet ); - aPage = ITEMVALUE( aDlgSet, ATTR_PRESENT_DIANAME, SfxStringItem ); - if( aPage != rPresentationSettings.maPresPage ) - { - bValuesChanged = true; - rPresentationSettings.maPresPage = aPage; - } - bValue = ITEMVALUE( aDlgSet, ATTR_PRESENT_ALL, SfxBoolItem ); if ( bValue != rPresentationSettings.mbAll ) { bValuesChanged = true; rPresentationSettings.mbAll = bValue; + // remove any previous existing slide + rPresentationSettings.maPresPage = ""; + } + + if (!rPresentationSettings.mbAll) + { + aPage = ITEMVALUE( aDlgSet, ATTR_PRESENT_DIANAME, SfxStringItem ); + if( aPage != rPresentationSettings.maPresPage ) + { + bValuesChanged = true; + rPresentationSettings.maPresPage = aPage; + } } bValue = ITEMVALUE( aDlgSet, ATTR_PRESENT_CUSTOMSHOW, SfxBoolItem ); |