-rw-r--r-- | noncore/graphics/drawpad/drawpadcanvas.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp index 5d0c6e4..5b1aa7e 100644 --- a/noncore/graphics/drawpad/drawpadcanvas.cpp +++ b/noncore/graphics/drawpad/drawpadcanvas.cpp @@ -179,3 +179,19 @@ void DrawPadCanvas::load(QIODevice* ioDevice) - m_pages = drawPadCanvasXmlHandler.pages(); + /* + * we could have loaded something from setDocument already + * due the delayed loading we need to make sure we do + * not lose pages + */ + if ( !m_pages.isEmpty() ) { + QList<Page> pages = drawPadCanvasXmlHandler.pages(); + QListIterator<Page> it( pages ); + Page *p; + while ( ( p = it.current() ) ) { + ++it; + m_pages.append( p ); + } + }else + m_pages = drawPadCanvasXmlHandler.pages(); + + @@ -196,2 +212,9 @@ void DrawPadCanvas::initialPage() { + /* + * by setDocument we've set a page already so + * don't add an empty one. This comes due the delayed initialisation + */ + if (!m_pages.isEmpty() ) + return; + m_pages.append(new Page("", |