tdf#133547 Fix breaking of PDF graphic objects

ImpSdrPdfImport did not handle -1 as the page number correctly.
When the page number is -1 it means it was never explicitly set
and should be treated as page with index 0 most of the time. So
instead of allowing -1 as the page index, return it as 0 already
in Graphic (VectorGraphicData).

Change-Id: I3813f3ceeb5e41cb06fc40d67297d2439d7f3407
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95227
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 876d644ccfff9c1097abfd7353cfc2cc17714a0a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95237
diff --git a/include/vcl/vectorgraphicdata.hxx b/include/vcl/vectorgraphicdata.hxx
index 62e7617..8fce666 100644
--- a/include/vcl/vectorgraphicdata.hxx
+++ b/include/vcl/vectorgraphicdata.hxx
@@ -26,6 +26,7 @@
#include <rtl/ustring.hxx>
#include <deque>
#include <memory>
#include <algorithm>

namespace com::sun::star::graphic { class XPrimitive2D; }
struct WmfExternal;
@@ -110,7 +111,7 @@
    const BitmapEx& getReplacement() const;
    BitmapChecksum GetChecksum() const;

    sal_Int32 getPageIndex() const { return mnPageIndex; }
    sal_Int32 getPageIndex() const { return std::max(sal_Int32(0), mnPageIndex); }

    bool isPrimitiveSequenceCreated() const { return mbSequenceCreated; }
};
diff --git a/svx/source/svdraw/svdedtv2.cxx b/svx/source/svdraw/svdedtv2.cxx
index 661dd07..de8c521 100644
--- a/svx/source/svdraw/svdedtv2.cxx
+++ b/svx/source/svdraw/svdedtv2.cxx
@@ -2104,7 +2104,7 @@
#if HAVE_FEATURE_PDFIUM
                aLogicRect = pGraf->GetLogicRect();
                ImpSdrPdfImport aFilter(*mpModel, pObj->GetLayer(), aLogicRect, aGraphic);
                if (pGraf->getEmbeddedPageNumber() < aFilter.GetPageCount())
                if (aGraphic.getPageNumber() < aFilter.GetPageCount())
                {
                    nInsCnt = aFilter.DoImport(*pOL, nInsPos, aGraphic.getPageNumber(), pProgrInfo);
                }