[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    koffice/kexi/plugins/reportspgz
From:       Adam Pigg <adam () piggz ! co ! uk>
Date:       2009-09-12 7:46:31
Message-ID: 1252741591.598585.15759.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1022591 by piggz:

Check the report schma s valid

 M  +24 -17    kexireportview.cpp  


--- trunk/koffice/kexi/plugins/reportspgz/kexireportview.cpp #1022590:1022591
@@ -228,26 +228,33 @@
         QDomElement conn = root.firstChildElement( "connection" );
         
         m_preRenderer = new ORPreRender(tempData()->document);
-        if (!conn.isNull())  {
-            m_preRenderer->setSourceData(sourceData(conn));
-        }
-        m_preRenderer->setName( tempData()->name );
-        m_currentPage = 1;
+        if (m_preRenderer->isValid()) {
+            if (!conn.isNull())  {
+                m_preRenderer->setSourceData(sourceData(conn));
+            }
+            m_preRenderer->setName( tempData()->name );
+            m_currentPage = 1;
 
-        //Add a kexi object to provide kexidb and extra functionality
-        m_kexi = new KexiScriptAdaptor();
-        m_preRenderer->registerScriptObject(m_kexi, "Kexi" );
-        
-        m_reportDocument = m_preRenderer->generate();
-        if (m_reportDocument) {
-            m_pageCount = m_reportDocument->pages();
-            m_pageSelector->setRecordCount(m_pageCount);
+            //Add a kexi object to provide kexidb and extra functionality
+            m_kexi = new KexiScriptAdaptor();
+            m_preRenderer->registerScriptObject(m_kexi, "Kexi" );
+
+            m_reportDocument = m_preRenderer->generate();
+            if (m_reportDocument) {
+                m_pageCount = m_reportDocument->pages();
+                m_pageSelector->setRecordCount(m_pageCount);
+            }
+
+            m_reportWidget = new KexiReportPage(this, m_reportDocument);
+            m_reportWidget->setObjectName("KexiReportPage");
+            m_scrollArea->setWidget(m_reportWidget);
+
         }
-        
-        m_reportWidget = new KexiReportPage(this, m_reportDocument);
-        m_reportWidget->setObjectName("KexiReportPage");
-        m_scrollArea->setWidget(m_reportWidget);
+        else {
+            KMessageBox::error(this, i18n("Report schema appears to be invalid or \
corrupt"), i18n("Opening failed")); +        }
 
+
         tempData()->reportSchemaChangedInPreviousView = false;
     }
     return true;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic