XCB: Use member initialization

Shorten or remove constructors accordingly.

Change-Id: I9c8bcf512c922c3c72be8a965d9557589bc9874f
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
This commit is contained in:
Friedemann Kleint 2017-01-27 13:11:04 +01:00
parent 30d0e1770c
commit 1aea3c1229
15 changed files with 104 additions and 179 deletions

View File

@ -267,11 +267,6 @@ const int QXcbClipboard::clipboard_timeout = 5000;
QXcbClipboard::QXcbClipboard(QXcbConnection *c)
: QXcbObject(c), QPlatformClipboard()
, m_requestor(XCB_NONE)
, m_owner(XCB_NONE)
, m_incr_active(false)
, m_clipboard_closing(false)
, m_incr_receive_time(0)
{
Q_ASSERT(QClipboard::Clipboard == 0);
Q_ASSERT(QClipboard::Selection == 1);

View File

@ -102,14 +102,14 @@ private:
QMimeData *m_clientClipboard[2];
xcb_timestamp_t m_timestamp[2];
xcb_window_t m_requestor;
xcb_window_t m_owner;
xcb_window_t m_requestor = XCB_NONE;
xcb_window_t m_owner = XCB_NONE;
static const int clipboard_timeout;
bool m_incr_active;
bool m_clipboard_closing;
xcb_timestamp_t m_incr_receive_time;
bool m_incr_active = false;
bool m_clipboard_closing = false;
xcb_timestamp_t m_incr_receive_time = 0;
};
#endif // QT_NO_CLIPBOARD

View File

@ -552,32 +552,10 @@ void QXcbConnection::initializeScreens()
}
QXcbConnection::QXcbConnection(QXcbNativeInterface *nativeInterface, bool canGrabServer, xcb_visualid_t defaultVisualId, const char *displayName)
: m_connection(0)
, m_canGrabServer(canGrabServer)
: m_canGrabServer(canGrabServer)
, m_defaultVisualId(defaultVisualId)
, m_primaryScreenNumber(0)
, m_displayName(displayName ? QByteArray(displayName) : qgetenv("DISPLAY"))
, m_nativeInterface(nativeInterface)
#ifdef XCB_USE_XLIB
, m_xlib_display(0)
#endif
, xfixes_first_event(0)
, xrandr_first_event(0)
, xkb_first_event(0)
, has_xinerama_extension(false)
, has_shape_extension(false)
, has_randr_extension(false)
, has_input_shape(false)
, has_xkb(false)
, m_buttons(0)
, m_focusWindow(0)
, m_mouseGrabber(0)
, m_mousePressWindow(0)
, m_clientLeader(0)
, m_systemTrayTracker(0)
, m_glIntegration(Q_NULLPTR)
, m_xiGrab(false)
, m_qtSelectionOwner(0)
{
#ifdef XCB_USE_XLIB
Display *dpy = XOpenDisplay(m_displayName.constData());
@ -618,9 +596,6 @@ QXcbConnection::QXcbConnection(QXcbNativeInterface *nativeInterface, bool canGra
initializeAllAtoms();
m_time = XCB_CURRENT_TIME;
m_netWmUserTime = XCB_CURRENT_TIME;
if (!qEnvironmentVariableIsSet("QT_XCB_NO_XRANDR"))
initializeXRandr();
if (!has_randr_extension)
@ -630,7 +605,6 @@ QXcbConnection::QXcbConnection(QXcbNativeInterface *nativeInterface, bool canGra
initializeXRender();
#if defined(XCB_USE_XINPUT2)
m_xi2Enabled = false;
initializeXInput2();
#endif
initializeXShape();

View File

@ -551,10 +551,9 @@ private:
void destroyScreen(QXcbScreen *screen);
void initializeScreens();
bool compressEvent(xcb_generic_event_t *event, int currentIndex, QXcbEventArray *eventqueue) const;
#ifdef XCB_USE_XINPUT2
bool m_xi2Enabled;
int m_xi2Minor;
bool m_xi2Enabled = false;
int m_xi2Minor = 2;
void initializeXInput2();
void finalizeXInput2();
void xi2SetupDevices();
@ -568,20 +567,17 @@ private:
#endif // XCB_USE_XINPUT22
#ifndef QT_NO_TABLETEVENT
struct TabletData {
TabletData() : deviceId(0), pointerType(QTabletEvent::UnknownPointer),
tool(QTabletEvent::Stylus), buttons(0), serialId(0), inProximity(false) { }
int deviceId;
QTabletEvent::PointerType pointerType;
QTabletEvent::TabletDevice tool;
Qt::MouseButtons buttons;
qint64 serialId;
bool inProximity;
int deviceId = 0;
QTabletEvent::PointerType pointerType = QTabletEvent::UnknownPointer;
QTabletEvent::TabletDevice tool = QTabletEvent::Stylus;
Qt::MouseButtons buttons = 0;
qint64 serialId = 0;
bool inProximity = false;
struct ValuatorClassInfo {
ValuatorClassInfo() : minVal(0.), maxVal(0.), curVal(0.) { }
double minVal;
double maxVal;
double curVal;
int number;
double minVal = 0;
double maxVal = 0;
double curVal = 0;
int number = -1;
};
QHash<int, ValuatorClassInfo> valuatorInfo;
};
@ -593,12 +589,13 @@ private:
TabletData *tabletDataForDevice(int id);
#endif // !QT_NO_TABLETEVENT
struct ScrollingDevice {
ScrollingDevice() : deviceId(0), verticalIndex(0), horizontalIndex(0), orientations(0), legacyOrientations(0) { }
int deviceId;
int verticalIndex, horizontalIndex;
double verticalIncrement, horizontalIncrement;
Qt::Orientations orientations;
Qt::Orientations legacyOrientations;
int deviceId = 0;
int verticalIndex = 0;
int horizontalIndex = 0;
double verticalIncrement = 0;
double horizontalIncrement = 0;
Qt::Orientations orientations = 0;
Qt::Orientations legacyOrientations = 0;
QPointF lastScrollPosition;
};
void updateScrollingDevice(ScrollingDevice& scrollingDevice, int num_classes, void *classes);
@ -609,36 +606,36 @@ private:
static void xi2PrepareXIGenericDeviceEvent(xcb_ge_event_t *event);
#endif
xcb_connection_t *m_connection;
const xcb_setup_t *m_setup;
bool m_canGrabServer;
xcb_visualid_t m_defaultVisualId;
xcb_connection_t *m_connection = nullptr;
const xcb_setup_t *m_setup = nullptr;
const bool m_canGrabServer;
const xcb_visualid_t m_defaultVisualId;
QList<QXcbVirtualDesktop *> m_virtualDesktops;
QList<QXcbScreen *> m_screens;
int m_primaryScreenNumber;
int m_primaryScreenNumber = 0;
xcb_atom_t m_allAtoms[QXcbAtom::NAtoms];
xcb_timestamp_t m_time;
xcb_timestamp_t m_netWmUserTime;
xcb_timestamp_t m_time = XCB_CURRENT_TIME;
xcb_timestamp_t m_netWmUserTime = XCB_CURRENT_TIME;
QByteArray m_displayName;
QXcbKeyboard *m_keyboard;
QXcbKeyboard *m_keyboard = nullptr;
#ifndef QT_NO_CLIPBOARD
QXcbClipboard *m_clipboard;
QXcbClipboard *m_clipboard = nullptr;
#endif
#ifndef QT_NO_DRAGANDDROP
QXcbDrag *m_drag;
QXcbDrag *m_drag = nullptr;
#endif
QScopedPointer<QXcbWMSupport> m_wmSupport;
QXcbNativeInterface *m_nativeInterface;
QXcbNativeInterface *m_nativeInterface = nullptr;
#if defined(XCB_USE_XLIB)
void *m_xlib_display;
void *m_xlib_display = nullptr;
#endif
QXcbEventReader *m_reader;
QXcbEventReader *m_reader = nullptr;
#if defined(XCB_USE_XINPUT2)
QHash<int, XInput2TouchDeviceData*> m_touchDevices;
#ifdef XCB_USE_XINPUT22
@ -671,29 +668,29 @@ private:
QVector<PeekFunc> m_peekFuncs;
uint32_t xfixes_first_event;
uint32_t xrandr_first_event;
uint32_t xkb_first_event;
uint32_t xfixes_first_event = 0;
uint32_t xrandr_first_event = 0;
uint32_t xkb_first_event = 0;
bool has_xinerama_extension;
bool has_shape_extension;
bool has_randr_extension;
bool has_xinerama_extension = false;
bool has_shape_extension = false;
bool has_randr_extension = false;
bool has_input_shape;
bool has_xkb;
bool has_xkb = false;
Qt::MouseButtons m_buttons;
Qt::MouseButtons m_buttons = 0;
QXcbWindow *m_focusWindow;
QXcbWindow *m_mouseGrabber;
QXcbWindow *m_mousePressWindow;
QXcbWindow *m_focusWindow = nullptr;
QXcbWindow *m_mouseGrabber = nullptr;
QXcbWindow *m_mousePressWindow = nullptr;
xcb_window_t m_clientLeader;
xcb_window_t m_clientLeader = 0;
QByteArray m_startupId;
QXcbSystemTrayTracker *m_systemTrayTracker;
QXcbGlIntegration *m_glIntegration;
bool m_xiGrab;
QXcbSystemTrayTracker *m_systemTrayTracker = nullptr;
QXcbGlIntegration *m_glIntegration = nullptr;
bool m_xiGrab = false;
xcb_window_t m_qtSelectionOwner;
xcb_window_t m_qtSelectionOwner = 0;
friend class QXcbEventReader;
};

View File

@ -52,14 +52,8 @@
#include <X11/extensions/XI2proto.h>
struct XInput2TouchDeviceData {
XInput2TouchDeviceData()
: xiDeviceInfo(0)
, qtTouchDevice(0)
, providesTouchOrientation(false)
{
}
XIDeviceInfo *xiDeviceInfo;
QTouchDevice *qtTouchDevice;
XIDeviceInfo *xiDeviceInfo = nullptr;
QTouchDevice *qtTouchDevice = nullptr;
QHash<int, QWindowSystemInterface::TouchPoint> touchPoints;
QHash<int, QPointF> pointPressedPosition; // in screen coordinates where each point was pressed
@ -67,7 +61,7 @@ struct XInput2TouchDeviceData {
QPointF firstPressedPosition; // in screen coordinates where the first point was pressed
QPointF firstPressedNormalPosition; // device coordinates (0 to 1, 0 to 1) where the first point was pressed
QSizeF size; // device size in mm
bool providesTouchOrientation;
bool providesTouchOrientation = false;
};
void QXcbConnection::initializeXInput2()
@ -80,7 +74,7 @@ void QXcbConnection::initializeXInput2()
Display *xDisplay = static_cast<Display *>(m_xlib_display);
if (XQueryExtension(xDisplay, "XInputExtension", &m_xiOpCode, &m_xiEventBase, &m_xiErrorBase)) {
int xiMajor = 2;
m_xi2Minor = 2; // try 2.2 first, needed for TouchBegin/Update/End
// try 2.2 first, needed for TouchBegin/Update/End
if (XIQueryVersion(xDisplay, &xiMajor, &m_xi2Minor) == BadRequest) {
m_xi2Minor = 1; // for smooth scrolling 2.1 is enough
if (XIQueryVersion(xDisplay, &xiMajor, &m_xi2Minor) == BadRequest) {

View File

@ -1136,12 +1136,6 @@ int QXcbKeyboard::keysymToQtKey(xcb_keysym_t keysym, Qt::KeyboardModifiers &modi
QXcbKeyboard::QXcbKeyboard(QXcbConnection *connection)
: QXcbObject(connection)
, m_autorepeat_code(0)
, xkb_context(0)
, xkb_keymap(0)
, xkb_state(0)
, latin_keymap(0)
, m_hasLatinLayout(false)
{
memset(&xkb_names, 0, sizeof(xkb_names));
#if QT_CONFIG(xkb)

View File

@ -106,14 +106,14 @@ protected:
private:
void updateXKBStateFromState(struct xkb_state *kb_state, quint16 state);
bool m_config;
xcb_keycode_t m_autorepeat_code;
bool m_config = false;
xcb_keycode_t m_autorepeat_code = 0;
struct xkb_context *xkb_context;
struct xkb_keymap *xkb_keymap;
struct xkb_state *xkb_state;
struct xkb_context *xkb_context = nullptr;
struct xkb_keymap *xkb_keymap = nullptr;
struct xkb_state *xkb_state = nullptr;
struct xkb_rule_names xkb_names;
mutable struct xkb_keymap *latin_keymap;
mutable struct xkb_keymap *latin_keymap = nullptr;
struct _mod_masks {
uint alt;
@ -143,7 +143,7 @@ private:
_mod_masks vmod_masks;
int core_device_id;
#endif
bool m_hasLatinLayout;
bool m_hasLatinLayout = false;
};
QT_END_NAMESPACE

View File

@ -90,8 +90,7 @@ static int resourceType(const QByteArray &key)
}
QXcbNativeInterface::QXcbNativeInterface() :
m_genericEventFilterType(QByteArrayLiteral("xcb_generic_event_t")),
m_sysTraySelectionAtom(XCB_ATOM_NONE)
m_genericEventFilterType(QByteArrayLiteral("xcb_generic_event_t"))
{
}

View File

@ -129,7 +129,7 @@ private:
const QByteArray m_genericEventFilterType;
xcb_atom_t m_sysTraySelectionAtom;
xcb_atom_t m_sysTraySelectionAtom = XCB_ATOM_NONE;
static QXcbScreen *qPlatformScreenForWindow(QWindow *window);

View File

@ -59,7 +59,6 @@ QXcbVirtualDesktop::QXcbVirtualDesktop(QXcbConnection *connection, xcb_screen_t
: QXcbObject(connection)
, m_screen(screen)
, m_number(number)
, m_xSettings(Q_NULLPTR)
{
const QByteArray cmAtomName = "_NET_WM_CM_S" + QByteArray::number(m_number);
m_net_wm_cm_atom = connection->internAtom(cmAtomName.constData());
@ -175,20 +174,10 @@ QXcbScreen::QXcbScreen(QXcbConnection *connection, QXcbVirtualDesktop *virtualDe
, m_virtualDesktop(virtualDesktop)
, m_output(outputId)
, m_crtc(output ? output->crtc : XCB_NONE)
, m_mode(XCB_NONE)
, m_primary(false)
, m_rotation(XCB_RANDR_ROTATION_ROTATE_0)
, m_outputName(getOutputName(output))
, m_outputSizeMillimeters(output ? QSize(output->mm_width, output->mm_height) : QSize())
, m_virtualSize(virtualDesktop->size())
, m_virtualSizeMillimeters(virtualDesktop->physicalSize())
, m_orientation(Qt::PrimaryOrientation)
, m_refreshRate(60)
, m_forcedDpi(-1)
, m_pixelDensity(1)
, m_hintStyle(QFontEngine::HintStyle(-1))
, m_subpixelType(QFontEngine::SubpixelAntialiasingType(-1))
, m_antialiasingEnabled(-1)
{
if (connection->hasXRandr()) {
xcb_randr_select_input(xcb_connection(), screen()->root, true);

View File

@ -95,12 +95,12 @@ private:
QRect getWorkArea() const;
xcb_screen_t *m_screen;
int m_number;
const int m_number;
QList<QPlatformScreen *> m_screens;
QXcbXSettings *m_xSettings;
xcb_atom_t m_net_wm_cm_atom;
bool m_compositingActive;
QXcbXSettings *m_xSettings = nullptr;
xcb_atom_t m_net_wm_cm_atom = 0;
bool m_compositingActive = false;
QRect m_workArea;
};
@ -186,9 +186,9 @@ private:
QXcbVirtualDesktop *m_virtualDesktop;
xcb_randr_output_t m_output;
xcb_randr_crtc_t m_crtc;
xcb_randr_mode_t m_mode;
bool m_primary;
uint8_t m_rotation;
xcb_randr_mode_t m_mode = XCB_NONE;
bool m_primary = false;
uint8_t m_rotation = XCB_RANDR_ROTATION_ROTATE_0;
QString m_outputName;
QSizeF m_outputSizeMillimeters;
@ -197,18 +197,18 @@ private:
QRect m_availableGeometry;
QSize m_virtualSize;
QSizeF m_virtualSizeMillimeters;
Qt::ScreenOrientation m_orientation;
Qt::ScreenOrientation m_orientation = Qt::PrimaryOrientation;
QString m_windowManagerName;
bool m_syncRequestSupported;
bool m_syncRequestSupported = false;
QMap<xcb_visualid_t, xcb_visualtype_t> m_visuals;
QMap<xcb_visualid_t, quint8> m_visualDepths;
QXcbCursor *m_cursor;
int m_refreshRate;
int m_forcedDpi;
int m_pixelDensity;
QFontEngine::HintStyle m_hintStyle;
QFontEngine::SubpixelAntialiasingType m_subpixelType;
int m_antialiasingEnabled;
int m_refreshRate = 60;
int m_forcedDpi = -1;
int m_pixelDensity = 1;
QFontEngine::HintStyle m_hintStyle = QFontEngine::HintStyle(-1);
QFontEngine::SubpixelAntialiasingType m_subpixelType = QFontEngine::SubpixelAntialiasingType(-1);
int m_antialiasingEnabled = -1;
};
#ifndef QT_NO_DEBUG_STREAM

View File

@ -80,7 +80,6 @@ QXcbSystemTrayTracker::QXcbSystemTrayTracker(QXcbConnection *connection,
, m_selection(selection)
, m_trayAtom(trayAtom)
, m_connection(connection)
, m_trayWindow(0)
{
}

View File

@ -77,7 +77,7 @@ private:
const xcb_atom_t m_selection;
const xcb_atom_t m_trayAtom;
QXcbConnection *m_connection;
xcb_window_t m_trayWindow;
xcb_window_t m_trayWindow = 0;
};
QT_END_NAMESPACE

View File

@ -314,22 +314,6 @@ static const char *wm_window_role_property_id = "_q_xcb_wm_window_role";
QXcbWindow::QXcbWindow(QWindow *window)
: QPlatformWindow(window)
, m_window(0)
, m_cmap(0)
, m_syncCounter(0)
, m_gravity(XCB_GRAVITY_STATIC)
, m_mapped(false)
, m_transparent(false)
, m_usingSyncProtocol(false)
, m_deferredActivation(false)
, m_embedded(false)
, m_alertState(false)
, m_netWmUserTimeWindow(XCB_NONE)
, m_dirtyFrameMargins(false)
, m_lastWindowStateEvent(-1)
, m_syncState(NoSyncNeeded)
, m_pendingSyncRequest(0)
, m_currentBitmapCursor(XCB_CURSOR_NONE)
{
setConnection(xcbScreen()->connection());
}

View File

@ -233,48 +233,48 @@ protected:
void handleLeaveNotifyEvent(int root_x, int root_y,
quint8 mode, quint8 detail, xcb_timestamp_t timestamp);
xcb_window_t m_window;
xcb_colormap_t m_cmap;
xcb_window_t m_window = 0;
xcb_colormap_t m_cmap = 0;
uint m_depth;
QImage::Format m_imageFormat;
bool m_imageRgbSwap;
uint m_depth = 0;
QImage::Format m_imageFormat = QImage::Format_ARGB32_Premultiplied;
bool m_imageRgbSwap = false;
xcb_sync_int64_t m_syncValue;
xcb_sync_counter_t m_syncCounter;
xcb_sync_counter_t m_syncCounter = 0;
Qt::WindowState m_windowState;
Qt::WindowState m_windowState = Qt::WindowNoState;
xcb_gravity_t m_gravity;
xcb_gravity_t m_gravity = XCB_GRAVITY_STATIC;
bool m_mapped;
bool m_transparent;
bool m_usingSyncProtocol;
bool m_deferredActivation;
bool m_embedded;
bool m_alertState;
xcb_window_t m_netWmUserTimeWindow;
bool m_mapped = false;
bool m_transparent = false;
bool m_usingSyncProtocol = false;
bool m_deferredActivation = false;
bool m_embedded = false;
bool m_alertState = false;
xcb_window_t m_netWmUserTimeWindow = XCB_NONE;
QSurfaceFormat m_format;
mutable bool m_dirtyFrameMargins;
mutable bool m_dirtyFrameMargins = false;
mutable QMargins m_frameMargins;
QRegion m_exposeRegion;
QSize m_oldWindowSize;
xcb_visualid_t m_visualId;
int m_lastWindowStateEvent;
xcb_visualid_t m_visualId = 0;
int m_lastWindowStateEvent = -1;
enum SyncState {
NoSyncNeeded,
SyncReceived,
SyncAndConfigureReceived
};
SyncState m_syncState;
SyncState m_syncState = NoSyncNeeded;
QXcbSyncWindowRequest *m_pendingSyncRequest;
xcb_cursor_t m_currentBitmapCursor;
QXcbSyncWindowRequest *m_pendingSyncRequest = nullptr;
xcb_cursor_t m_currentBitmapCursor = XCB_CURSOR_NONE;
};
QT_END_NAMESPACE