diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2017-12-22 02:50:50 +0300 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-03-20 11:49:44 +0100 |
commit | 4f1850e77a045989657748212037192f35c5d9bd (patch) | |
tree | 69576b90db4e29437c71fb354a87448e4896df2a /chart2 | |
parent | 65d861b8294c2238544fc9de59ce06420e01b7a7 (diff) |
tdf#114635: fix TWAIN on Windows 64 bit
DG_IMAGE / DAT_IMAGENATIVEXFER / MSG_GET is documented [1] to take
a handle as its pData parameter, but said to be TW_UINT32. The latter
is false, because it returns a Windows handle to DIB to that parameter,
and it has 64 bits on 64-bit Windows systems. A crash resulted when
wrong value attempted to be GlobalLock'd, pBIH was nullptr, and was
dereferenced.
Also, in some circumstances, duplicate MSG_XFERREADY might arrive
sequentially; the second one arrives when current state has already
changed value, and thus TWAIN_EVENT_QUIT used to be sent, resulting
in mpImpTwain destroyed before TWAIN_EVENT_XFER processed. This had
lead to absent result of scan.
[1] http://www.twain.org/wp-content/uploads/2016/03/TWAIN-2-Spec.pdf
Change-Id: Ic03fe7681f6003e5fda0c071be181696f9bc866a
Reviewed-on: https://gerrit.libreoffice.org/46944
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 7ea805eb81ce865198cdb0fe418a73f6c353310e)
Diffstat (limited to 'chart2')
0 files changed, 0 insertions, 0 deletions