tdf#159955: fix custom page number

Change-Id: I1a56a4ba266dfb3c21e3b77263ecaa44b4e6dad5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164210
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
(cherry picked from commit d440dcfcaf688544a7a6d8bc478048159e5200f0)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164281
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
diff --git a/sw/source/uibase/uiview/view2.cxx b/sw/source/uibase/uiview/view2.cxx
index 585f38b..28a096f 100644
--- a/sw/source/uibase/uiview/view2.cxx
+++ b/sw/source/uibase/uiview/view2.cxx
@@ -284,14 +284,21 @@ OUString SwView::GetPageStr(sal_uInt16 nPhyNum, sal_uInt16 nVirtNum, const OUStr
                    ? SwResId(STR_PAGE_COUNT_PRINTED)
                    : (extra.isEmpty() ? SwResId(STR_PAGE_COUNT) : SwResId(STR_PAGE_COUNT_CUSTOM)));
    aStr = aStr.replaceFirst("%1", OUString::number(nPhyNum));
    aStr = aStr.replaceFirst("%2", OUString::number(nPageCount));
    if (nPageCount != nPrintedPageCount)
    {
        aStr = aStr.replaceFirst("%2", OUString::number(nPageCount));
        aStr = aStr.replaceFirst("%3", OUString::number(nPrintedPhyNum));
        aStr = aStr.replaceFirst("%4", OUString::number(nPrintedPageCount));
    }
    else
        aStr = aStr.replaceFirst("%3", extra);
    else {
        if (extra.isEmpty())
            aStr = aStr.replaceFirst("%2", OUString::number(nPageCount));
        else
        {
            aStr = aStr.replaceFirst("%2", extra);
            aStr = aStr.replaceFirst("%3", OUString::number(nPageCount));
        }
    }

    return aStr;
}