OpenCoverage

qeventdispatcher_glib.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2016 The Qt Company Ltd.-
4** Contact: https://www.qt.io/licensing/-
5**-
6** This file is part of the plugins of the Qt Toolkit.-
7**-
8** $QT_BEGIN_LICENSE:LGPL$-
9** Commercial License Usage-
10** Licensees holding valid commercial Qt licenses may use this file in-
11** accordance with the commercial license agreement provided with the-
12** Software or, alternatively, in accordance with the terms contained in-
13** a written agreement between you and The Qt Company. For licensing terms-
14** and conditions see https://www.qt.io/terms-conditions. For further-
15** information use the contact form at https://www.qt.io/contact-us.-
16**-
17** GNU Lesser General Public License Usage-
18** Alternatively, this file may be used under the terms of the GNU Lesser-
19** General Public License version 3 as published by the Free Software-
20** Foundation and appearing in the file LICENSE.LGPL3 included in the-
21** packaging of this file. Please review the following information to-
22** ensure the GNU Lesser General Public License version 3 requirements-
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.-
24**-
25** GNU General Public License Usage-
26** Alternatively, this file may be used under the terms of the GNU-
27** General Public License version 2.0 or (at your option) the GNU General-
28** Public license version 3 or any later version approved by the KDE Free-
29** Qt Foundation. The licenses are as published by the Free Software-
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3-
31** included in the packaging of this file. Please review the following-
32** information to ensure the GNU General Public License requirements will-
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and-
34** https://www.gnu.org/licenses/gpl-3.0.html.-
35**-
36** $QT_END_LICENSE$-
37**-
38****************************************************************************/-
39-
40#include "qeventdispatcher_glib_p.h"-
41-
42#include "qguiapplication.h"-
43-
44#include "qplatformdefs.h"-
45-
46#include <glib.h>-
47#include "private/qguiapplication_p.h"-
48-
49#include <qdebug.h>-
50-
51QT_BEGIN_NAMESPACE-
52-
53struct GUserEventSource-
54{-
55 GSource source;-
56 QPAEventDispatcherGlib *q;-
57};-
58-
59static gboolean userEventSourcePrepare(GSource *s, gint *timeout)-
60{-
61 Q_UNUSED(s)-
62 Q_UNUSED(timeout)-
63-
64 return QWindowSystemInterface::windowSystemEventsQueued() > 0;
executed 526263 times by 127 tests: return QWindowSystemInterface::windowSystemEventsQueued() > 0;
Executed by:
  • tst_Gestures
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAbstractSpinBox
  • tst_QAccessibility
  • tst_QAction
  • tst_QApplication
  • tst_QBackingStore
  • tst_QBoxLayout
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QCheckBox
  • tst_QClipboard
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QDataWidgetMapper
  • tst_QDesktopWidget
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QDockWidget
  • ...
526263
65}-
66-
67static gboolean userEventSourceCheck(GSource *source)-
68{-
69 return userEventSourcePrepare(source, 0);
executed 259321 times by 127 tests: return userEventSourcePrepare(source, 0);
Executed by:
  • tst_Gestures
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAbstractSpinBox
  • tst_QAccessibility
  • tst_QAction
  • tst_QApplication
  • tst_QBackingStore
  • tst_QBoxLayout
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QCheckBox
  • tst_QClipboard
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QDataWidgetMapper
  • tst_QDesktopWidget
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QDockWidget
  • ...
259321
70}-
71-
72static gboolean userEventSourceDispatch(GSource *source, GSourceFunc, gpointer)-
73{-
74 GUserEventSource *userEventSource = reinterpret_cast<GUserEventSource *>(source);-
75 QPAEventDispatcherGlib *dispatcher = userEventSource->q;-
76 QWindowSystemInterface::sendWindowSystemEvents(dispatcher->m_flags);-
77 return true;
executed 7621 times by 110 tests: return true;
Executed by:
  • tst_Gestures
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSpinBox
  • tst_QAccessibility
  • tst_QAction
  • tst_QApplication
  • tst_QBackingStore
  • tst_QBoxLayout
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QCheckBox
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QDataWidgetMapper
  • tst_QDesktopWidget
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QDockWidget
  • tst_QDoubleSpinBox
  • tst_QFileDialog2
  • ...
7621
78}-
79-
80static GSourceFuncs userEventSourceFuncs = {-
81 userEventSourcePrepare,-
82 userEventSourceCheck,-
83 userEventSourceDispatch,-
84 NULL,-
85 NULL,-
86 NULL-
87};-
88-
89QPAEventDispatcherGlibPrivate::QPAEventDispatcherGlibPrivate(GMainContext *context)-
90 : QEventDispatcherGlibPrivate(context)-
91{-
92 Q_Q(QPAEventDispatcherGlib);-
93 userEventSource = reinterpret_cast<GUserEventSource *>(g_source_new(&userEventSourceFuncs,-
94 sizeof(GUserEventSource)));-
95 userEventSource->q = q;-
96 g_source_set_can_recurse(&userEventSource->source, true);-
97 g_source_attach(&userEventSource->source, mainContext);-
98}
executed 135 times by 5 tests: end of block
Executed by:
  • tst_QApplication
  • tst_QGuiApplication
  • tst_qapplication - unknown status
  • tst_qprocess - unknown status
  • tst_selftests - unknown status
135
99-
100-
101QPAEventDispatcherGlib::QPAEventDispatcherGlib(QObject *parent)-
102 : QEventDispatcherGlib(*new QPAEventDispatcherGlibPrivate, parent)-
103 , m_flags(QEventLoop::AllEvents)-
104{-
105 Q_D(QPAEventDispatcherGlib);-
106 d->userEventSource->q = this;-
107}
executed 135 times by 5 tests: end of block
Executed by:
  • tst_QApplication
  • tst_QGuiApplication
  • tst_qapplication - unknown status
  • tst_qprocess - unknown status
  • tst_selftests - unknown status
135
108-
109QPAEventDispatcherGlib::~QPAEventDispatcherGlib()-
110{-
111 Q_D(QPAEventDispatcherGlib);-
112-
113 g_source_destroy(&d->userEventSource->source);-
114 g_source_unref(&d->userEventSource->source);-
115 d->userEventSource = 0;-
116}
executed 347 times by 219 tests: end of block
Executed by:
  • tst_QApplication
  • tst_QGuiApplication
  • tst_gestures - unknown status
  • tst_lancelot - unknown status
  • tst_languagechange - unknown status
  • tst_modeltest - unknown status
  • tst_qabstractbutton - unknown status
  • tst_qabstractitemview - unknown status
  • tst_qabstractprintdialog - unknown status
  • tst_qabstractproxymodel - unknown status
  • tst_qabstractscrollarea - unknown status
  • tst_qabstractslider - unknown status
  • tst_qabstractspinbox - unknown status
  • tst_qabstracttextdocumentlayout - unknown status
  • tst_qaccessibility - unknown status
  • tst_qaction - unknown status
  • tst_qactiongroup - unknown status
  • tst_qapplication - unknown status
  • tst_qbackingstore - unknown status
  • tst_qboxlayout - unknown status
  • tst_qbrush - unknown status
  • tst_qbuttongroup - unknown status
  • tst_qcalendarwidget - unknown status
  • tst_qcheckbox - unknown status
  • tst_qclipboard - unknown status
  • ...
347
117-
118bool QPAEventDispatcherGlib::processEvents(QEventLoop::ProcessEventsFlags flags)-
119{-
120 m_flags = flags;-
121 return QEventDispatcherGlib::processEvents(m_flags);
executed 266721 times by 127 tests: return QEventDispatcherGlib::processEvents(m_flags);
Executed by:
  • tst_Gestures
  • tst_QAbstractButton
  • tst_QAbstractItemView
  • tst_QAbstractScrollArea
  • tst_QAbstractSlider
  • tst_QAbstractSpinBox
  • tst_QAccessibility
  • tst_QAction
  • tst_QApplication
  • tst_QBackingStore
  • tst_QBoxLayout
  • tst_QButtonGroup
  • tst_QCalendarWidget
  • tst_QCheckBox
  • tst_QClipboard
  • tst_QColorDialog
  • tst_QColumnView
  • tst_QComboBox
  • tst_QCommandLinkButton
  • tst_QCompleter
  • tst_QDataWidgetMapper
  • tst_QDesktopWidget
  • tst_QDialog
  • tst_QDialogButtonBox
  • tst_QDockWidget
  • ...
266721
122}-
123-
124QT_END_NAMESPACE-
Source codeSwitch to Preprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9