Important: Please read the Qt Code of Conduct -

Event filter mechanism on Windows 64bit

  • In Qt 4.8.4 the QCoreApplication class has a global event filter mechanism: setEventFilter or for the windows version: winEventFilter. On Windows this is called directly from QtWndProc (this is the registered windows message handler callback function of Qt 4.8.4). The result of filterEvent is used as the return value of this function.

    The problem is that the type of the result is long while on win64 the result of a windows message handling is 64bit. So during the filter mechanism it will be cut.

    Currently it is not problem as all of the result I saw used only 32bit, but I couldn't see any hint on win sdk help that declares in the future the top 32bit will not be used. So it can be a problem later.

    In Qt 5.3.1 function nativeEventFilter of class QAbstractNativeEventFilter gives the result in type long. It seems the problem also occurs.

    Is it a known problem? Will it be solved? Or am I miss something?


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Something is not quite clear, are you hitting any problem currently ? Or is it just a theoretical question ?

Log in to reply