• Mark Brand's avatar
    QSqlDriver: use Q_DECLARE_PUBLIC/Q_DECLARE_PRIVATE · 0bdc86d9
    Mark Brand authored
    406c8ef6
    
     introduced deriving the private SQL driver classes from
    QSqlDriverPrivate. However, the drivers continued to keep their own
    pointer to the private class, even though QObject provides the same
    pointer. Worse yet, the private class is allocated too late and not
    even passed to QSqlDriver. The result is that QSqlDriver allocates
    a separate instance of QSqlDriverPrivate. This is likely to cause
    all kinds of chaos.
    
    The private class needs to be allocated in time pass it to QSqlDriver
    which passes it on to QObject.
    
    This commit covers the the base class and drivers:
        ibase
        mysql
        odbc
        psql
        sqlite
        tds
    
    Fixes for the remaining drivers will follow.
    
    Change-Id: Id8e7ec4205b0ca6cd00bd022c9cd24f137089245
    Reviewed-by: default avatarAndy Shaw <andy.shaw@digia.com>
    0bdc86d9
main.cpp 2.32 KiB
/****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtWebEngine module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.  For licensing terms and
** conditions see http://qt.digia.com/licensing.  For further information
** use the contact form at http://qt.digia.com/contact-us.
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
** In addition, as a special exception, Digia gives you certain additional
** rights.  These rights are described in the Digia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
** $QT_END_LICENSE$
****************************************************************************/
#include "quickwindow.h"
#ifndef QT_NO_WIDGETS
#include <QtWidgets/QApplication>
typedef QApplication Application;
#else
#include <QtGui/QGuiApplication>
typedef QGuiApplication Application;
#endif
#include <QtWebEngine/qtwebengineglobal.h>
int main(int argc, char **argv)
    Application app(argc, argv);
    QtWebEngine::initialize();
    ApplicationEngine appEngine;
    return app.exec();