Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-42622

Qt does not compiles if disabling Drag and Drop

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • P3: Somewhat important
    • None
    • 4.8.6
    • GUI: Drag and Drop
    • None
    • Host: Windows 7 64
      Target: Windows Compact 7

    Description

      The compilation fail for windows compact 7 (but probably also for other windows version) if I disable the drag and drop with QT_NO_DRAGANDDROP:

      configure -platform win32-msvc2008 -xplatform wince70-2014-armv4i-msvc2008 -debug-and-release -opensource -no-qt3support -no-webkit -no-stl -no-phonon -no-phonon-backend -no-declarative -no-declarative-debug -no-script -no-scripttools -nomake tools -nomake examples -nomake demos -qconfig ssm -no-audio-backend -no-multimedia -nomake docs -nomake translations -confirm-license -no-declarative -no-declarative-debug -no-script -no-scripttools

      in my mkspecs I have:

      #----------------------------------------

      include(../common/wince/qmake.conf)

      CE_SDK = xxXXXXxxxxxXXx
      CE_ARCH = ARMv4I

      DEFINES += QT_NO_NATIVE_GESTURES QT_NOSTANDARDSHELL_UI_MODEL CRT_SECURE_NO_DEPRECATE _WIN32_WCE=0x700 $$CE_ARCH _AMRV7 armv7 ARM QT_NO_CURSOR QT_NO_DRAGANDDROP QT_NO_CLIPBOARD QT_NO_ACCESSIBILITY QT_NO_SESSIONMANAGER

      QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:WINDOWSCE,7.00 /MACHINE:THUMB /ENTRY:mainACRTStartup
      QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWSCE,7.00 /MACHINE:THUMB
      QMAKE_LFLAGS_DLL = /SUBSYSTEM:WINDOWSCE,7.00 /MACHINE:THUMB /DLL /SAFESEH:NO
      QMAKE_LIBFLAGS_RELEASE = /LTCG
      QMAKE_LIBS = corelibc.lib coredll.lib
      QMAKE_LIBS_CORE = corelibc.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib coredll.lib winsock.lib
      QMAKE_LIBS_GUI = ceshell.lib ole32.lib $$QMAKE_LIBS_CORE
      QMAKE_LIBS_NETWORK = ws2.lib $$QMAKE_LIBS_GUI
      QMAKE_LIBS_OPENGL =
      QMAKE_LIBS_COMPAT =
      QMAKE_LIBS_OPENVG = libopenvg.lib

      QMAKE_RC = rc

      QMAKE_COMPILER_DEFINES -= _MSC_VER=1400
      QMAKE_COMPILER_DEFINES += _MSC_VER=1500
      #----------------------------------------

      The core problem is: QT_NO_DRAGANDDROP QT_NO_CLIPBOARD QT_NO_ACCESSIBILITY QT_NO_SESSIONMANAGER

      When I run nmake I see:

      qwidget_win.cpp
      kernel\qwidget_win.cpp(637) : error C2039: 'oleDropWidgets' : is not a member of QWExtra'
      c:\qt\4.8.6-wince70tr7\include\qtgui\private\../../../src/gui/kernel/qwi
      dget_p.h(244) : see declaration of 'QWExtra'
      kernel\qwidget_win.cpp(637) : error C2039: 'oleDropWidgets' : is not a member of 'QWExtra'

      My solution is to put two #ifndef QT_NO_DRAGANDDROP in qwidget_win.cpp into QWidgetPrivate::setParent_sys()

      I do not have the big pictures but it seems to me it's just a missing define and the solution works.
      Path and code attached.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              Unassigned Unassigned
              mariosgn Mario Signorino
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes