summaryrefslogtreecommitdiff
path: root/library
authorerik <erik>2007-01-24 19:54:07 (UTC)
committer erik <erik>2007-01-24 19:54:07 (UTC)
commit89e81059e832ff77c2f0ac8b9db12f80eafa03fc (patch) (unidiff)
tree99a130fc643d2aeefdecab452f644e7b61a5f50e /library
parent035bbc5bf689839c8d8e7be37f347b0dd900fccf (diff)
downloadopie-89e81059e832ff77c2f0ac8b9db12f80eafa03fc.zip
opie-89e81059e832ff77c2f0ac8b9db12f80eafa03fc.tar.gz
opie-89e81059e832ff77c2f0ac8b9db12f80eafa03fc.tar.bz2
Each file in this commit has an instance where a pointer is checked at
one point in the code and then not checked in another point in the code. If it needed to be checked once, it needs to be checked the other time. If not the application could segfault.
Diffstat (limited to 'library') (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index 34f5e6a..d959c7a 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -1676,198 +1676,198 @@ void QPEApplication::pidMessage( const QCString& msg, const QByteArray& data)
1676 if ( d->qpe_main_widget && !d->qpe_main_widget->isVisible() ) 1676 if ( d->qpe_main_widget && !d->qpe_main_widget->isVisible() )
1677 quit(); 1677 quit();
1678 } 1678 }
1679 else if ( msg == "close()" ) { 1679 else if ( msg == "close()" ) {
1680 hideOrQuit(); 1680 hideOrQuit();
1681 } 1681 }
1682 else if ( msg == "disablePreload()" ) { 1682 else if ( msg == "disablePreload()" ) {
1683 d->preloaded = FALSE; 1683 d->preloaded = FALSE;
1684 d->keep_running = TRUE; 1684 d->keep_running = TRUE;
1685 /* so that quit will quit */ 1685 /* so that quit will quit */
1686 } 1686 }
1687 else if ( msg == "enablePreload()" ) { 1687 else if ( msg == "enablePreload()" ) {
1688 if (d->qpe_main_widget) 1688 if (d->qpe_main_widget)
1689 d->preloaded = TRUE; 1689 d->preloaded = TRUE;
1690 d->keep_running = TRUE; 1690 d->keep_running = TRUE;
1691 /* so next quit won't quit */ 1691 /* so next quit won't quit */
1692 } 1692 }
1693 else if ( msg == "raise()" ) { 1693 else if ( msg == "raise()" ) {
1694 d->keep_running = TRUE; 1694 d->keep_running = TRUE;
1695 d->notbusysent = FALSE; 1695 d->notbusysent = FALSE;
1696 raiseAppropriateWindow(); 1696 raiseAppropriateWindow();
1697 // Tell the system we're still chugging along... 1697 // Tell the system we're still chugging along...
1698 QCopEnvelope e("QPE/System", "appRaised(QString)"); 1698 QCopEnvelope e("QPE/System", "appRaised(QString)");
1699 e << d->appName; 1699 e << d->appName;
1700 } 1700 }
1701 else if ( msg == "flush()" ) { 1701 else if ( msg == "flush()" ) {
1702 emit flush(); 1702 emit flush();
1703 // we need to tell the desktop 1703 // we need to tell the desktop
1704 QCopEnvelope e( "QPE/Desktop", "flushDone(QString)" ); 1704 QCopEnvelope e( "QPE/Desktop", "flushDone(QString)" );
1705 e << d->appName; 1705 e << d->appName;
1706 } 1706 }
1707 else if ( msg == "reload()" ) { 1707 else if ( msg == "reload()" ) {
1708 emit reload(); 1708 emit reload();
1709 } 1709 }
1710 else if ( msg == "setDocument(QString)" ) { 1710 else if ( msg == "setDocument(QString)" ) {
1711 d->keep_running = TRUE; 1711 d->keep_running = TRUE;
1712 QDataStream stream( data, IO_ReadOnly ); 1712 QDataStream stream( data, IO_ReadOnly );
1713 QString doc; 1713 QString doc;
1714 stream >> doc; 1714 stream >> doc;
1715 QWidget *mw = mainWidget(); 1715 QWidget *mw = mainWidget();
1716 if ( !mw ) 1716 if ( !mw )
1717 mw = d->qpe_main_widget; 1717 mw = d->qpe_main_widget;
1718 if ( mw ) 1718 if ( mw )
1719 Global::setDocument( mw, doc ); 1719 Global::setDocument( mw, doc );
1720 1720
1721 } else if ( msg == "QPEProcessQCop()" ) { 1721 } else if ( msg == "QPEProcessQCop()" ) {
1722 processQCopFile(); 1722 processQCopFile();
1723 d->sendQCopQ(); 1723 d->sendQCopQ();
1724 }else 1724 }else
1725 { 1725 {
1726 bool p = d->keep_running; 1726 bool p = d->keep_running;
1727 d->keep_running = FALSE; 1727 d->keep_running = FALSE;
1728 emit appMessage( msg, data); 1728 emit appMessage( msg, data);
1729 if ( d->keep_running ) { 1729 if ( d->keep_running ) {
1730 d->notbusysent = FALSE; 1730 d->notbusysent = FALSE;
1731 raiseAppropriateWindow(); 1731 raiseAppropriateWindow();
1732 if ( !p ) { 1732 if ( !p ) {
1733 // Tell the system we're still chugging along... 1733 // Tell the system we're still chugging along...
1734#ifndef QT_NO_COP 1734#ifndef QT_NO_COP
1735 QCopEnvelope e("QPE/System", "appRaised(QString)"); 1735 QCopEnvelope e("QPE/System", "appRaised(QString)");
1736 e << d->appName; 1736 e << d->appName;
1737#endif 1737#endif
1738 } 1738 }
1739 } 1739 }
1740 if ( p ) 1740 if ( p )
1741 d->keep_running = p; 1741 d->keep_running = p;
1742 } 1742 }
1743#endif 1743#endif
1744} 1744}
1745 1745
1746 1746
1747/*! 1747/*!
1748 Sets widget \a mw as the mainWidget() and shows it. For small windows, 1748 Sets widget \a mw as the mainWidget() and shows it. For small windows,
1749 consider passing TRUE for \a nomaximize rather than the default FALSE. 1749 consider passing TRUE for \a nomaximize rather than the default FALSE.
1750 1750
1751 \sa showMainDocumentWidget() 1751 \sa showMainDocumentWidget()
1752*/ 1752*/
1753void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize ) 1753void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize )
1754{ 1754{
1755// setMainWidget(mw); this breaks FastLoading because lastWindowClose() would quit 1755// setMainWidget(mw); this breaks FastLoading because lastWindowClose() would quit
1756 d->show(mw, nomaximize ); 1756 d->show(mw, nomaximize );
1757} 1757}
1758 1758
1759/*! 1759/*!
1760 Sets widget \a mw as the mainWidget() and shows it. For small windows, 1760 Sets widget \a mw as the mainWidget() and shows it. For small windows,
1761 consider passing TRUE for \a nomaximize rather than the default FALSE. 1761 consider passing TRUE for \a nomaximize rather than the default FALSE.
1762 1762
1763 This calls designates the application as 1763 This calls designates the application as
1764 a \link docwidget.html document-oriented\endlink application. 1764 a \link docwidget.html document-oriented\endlink application.
1765 1765
1766 The \a mw widget \e must have this slot: setDocument(const QString&). 1766 The \a mw widget \e must have this slot: setDocument(const QString&).
1767 1767
1768 \sa showMainWidget() 1768 \sa showMainWidget()
1769*/ 1769*/
1770void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize ) 1770void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize )
1771{ 1771{
1772 if ( mw && argc() == 2 ) 1772 if ( mw ) {
1773 Global::setDocument( mw, QString::fromUtf8(argv()[1]) ); 1773 if ( argc() == 2 )
1774 Global::setDocument( mw, QString::fromUtf8(argv()[1]) );
1774 1775
1775 1776 d->show(mw, nomaximize );
1776// setMainWidget(mw); see above 1777 }
1777 d->show(mw, nomaximize );
1778} 1778}
1779 1779
1780 1780
1781/*! 1781/*!
1782 If an application is started via a \link qcop.html QCop\endlink 1782 If an application is started via a \link qcop.html QCop\endlink
1783 message, the application will process the \link qcop.html 1783 message, the application will process the \link qcop.html
1784 QCop\endlink message and then quit. If the application calls this 1784 QCop\endlink message and then quit. If the application calls this
1785 function while processing a \link qcop.html QCop\endlink message, 1785 function while processing a \link qcop.html QCop\endlink message,
1786 after processing its outstanding \link qcop.html QCop\endlink 1786 after processing its outstanding \link qcop.html QCop\endlink
1787 messages the application will start 'properly' and show itself. 1787 messages the application will start 'properly' and show itself.
1788 1788
1789 \sa keepRunning() 1789 \sa keepRunning()
1790*/ 1790*/
1791void QPEApplication::setKeepRunning() 1791void QPEApplication::setKeepRunning()
1792{ 1792{
1793 if ( qApp && qApp->inherits( "QPEApplication" ) ) { 1793 if ( qApp && qApp->inherits( "QPEApplication" ) ) {
1794 QPEApplication * qpeApp = ( QPEApplication* ) qApp; 1794 QPEApplication * qpeApp = ( QPEApplication* ) qApp;
1795 qpeApp->d->keep_running = TRUE; 1795 qpeApp->d->keep_running = TRUE;
1796 } 1796 }
1797} 1797}
1798 1798
1799/*! 1799/*!
1800 Returns TRUE if the application will quit after processing the 1800 Returns TRUE if the application will quit after processing the
1801 current list of qcop messages; otherwise returns FALSE. 1801 current list of qcop messages; otherwise returns FALSE.
1802 1802
1803 \sa setKeepRunning() 1803 \sa setKeepRunning()
1804*/ 1804*/
1805bool QPEApplication::keepRunning() const 1805bool QPEApplication::keepRunning() const
1806{ 1806{
1807 return d->keep_running; 1807 return d->keep_running;
1808} 1808}
1809 1809
1810/*! 1810/*!
1811 \internal 1811 \internal
1812*/ 1812*/
1813void QPEApplication::internalSetStyle( const QString &style ) 1813void QPEApplication::internalSetStyle( const QString &style )
1814{ 1814{
1815#if QT_VERSION >= 0x030000 1815#if QT_VERSION >= 0x030000
1816 if ( style == "QPE" ) { 1816 if ( style == "QPE" ) {
1817 setStyle( new QPEStyle ); 1817 setStyle( new QPEStyle );
1818 } 1818 }
1819 else { 1819 else {
1820 QStyle *s = QStyleFactory::create( style ); 1820 QStyle *s = QStyleFactory::create( style );
1821 if ( s ) 1821 if ( s )
1822 setStyle( s ); 1822 setStyle( s );
1823 } 1823 }
1824#else 1824#else
1825 if ( style == "Windows" ) { 1825 if ( style == "Windows" ) {
1826 setStyle( new QWindowsStyle ); 1826 setStyle( new QWindowsStyle );
1827 } 1827 }
1828 else if ( style == "QPE" ) { 1828 else if ( style == "QPE" ) {
1829 setStyle( new QPEStyle ); 1829 setStyle( new QPEStyle );
1830 } 1830 }
1831 else if ( style == "Light" ) { 1831 else if ( style == "Light" ) {
1832 setStyle( new LightStyle ); 1832 setStyle( new LightStyle );
1833 } 1833 }
1834#ifndef QT_NO_STYLE_PLATINUM 1834#ifndef QT_NO_STYLE_PLATINUM
1835 else if ( style == "Platinum" ) { 1835 else if ( style == "Platinum" ) {
1836 setStyle( new QPlatinumStyle ); 1836 setStyle( new QPlatinumStyle );
1837 } 1837 }
1838#endif 1838#endif
1839#ifndef QT_NO_STYLE_MOTIF 1839#ifndef QT_NO_STYLE_MOTIF
1840 else if ( style == "Motif" ) { 1840 else if ( style == "Motif" ) {
1841 setStyle( new QMotifStyle ); 1841 setStyle( new QMotifStyle );
1842 } 1842 }
1843#endif 1843#endif
1844#ifndef QT_NO_STYLE_MOTIFPLUS 1844#ifndef QT_NO_STYLE_MOTIFPLUS
1845 else if ( style == "MotifPlus" ) { 1845 else if ( style == "MotifPlus" ) {
1846 setStyle( new QMotifPlusStyle ); 1846 setStyle( new QMotifPlusStyle );
1847 } 1847 }
1848#endif 1848#endif
1849 1849
1850 else { 1850 else {
1851 QStyle *sty = 0; 1851 QStyle *sty = 0;
1852 QString path = QPEApplication::qpeDir ( ) + "plugins/styles/"; 1852 QString path = QPEApplication::qpeDir ( ) + "plugins/styles/";
1853 1853
1854#ifdef Q_OS_MACX 1854#ifdef Q_OS_MACX
1855 if ( style. find ( ".dylib" ) > 0 ) 1855 if ( style. find ( ".dylib" ) > 0 )
1856 path += style; 1856 path += style;
1857 else 1857 else
1858 path = path + "lib" + style. lower ( ) + ".dylib"; // compatibility 1858 path = path + "lib" + style. lower ( ) + ".dylib"; // compatibility
1859#else 1859#else
1860 if ( style. find ( ".so" ) > 0 ) 1860 if ( style. find ( ".so" ) > 0 )
1861 path += style; 1861 path += style;
1862 else 1862 else
1863 path = path + "lib" + style. lower ( ) + ".so"; // compatibility 1863 path = path + "lib" + style. lower ( ) + ".so"; // compatibility
1864#endif 1864#endif
1865 static QLibrary *lastlib = 0; 1865 static QLibrary *lastlib = 0;
1866 static StyleInterface *lastiface = 0; 1866 static StyleInterface *lastiface = 0;
1867 1867
1868 QLibrary *lib = new QLibrary ( path ); 1868 QLibrary *lib = new QLibrary ( path );
1869 StyleInterface *iface = 0; 1869 StyleInterface *iface = 0;
1870 1870
1871 if (( lib-> queryInterface ( IID_Style, ( QUnknownInterface ** ) &iface ) == QS_OK ) && iface ) 1871 if (( lib-> queryInterface ( IID_Style, ( QUnknownInterface ** ) &iface ) == QS_OK ) && iface )
1872 sty = iface-> style ( ); 1872 sty = iface-> style ( );
1873 1873