Alexandre Julliard pushed to branch master at wine / wine Commits: 324e9009 by Dmitry Timoshkov at 2026-06-11T12:30:39+02:00 sane.ds: Add more traces. Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru> - - - - - bcd5aaee by Dmitry Timoshkov at 2026-06-11T12:30:41+02:00 sane.ds: SANE_DisableDSUserInterface() should accept states 5 and 6. Page 739 of the TWAIN Specification Version 2.4 https://github.com/twain/twain-specification/blob/master/versions/2.4/TWAIN-... describes the LOOP as 4. Application issues DAT_IMAGENATIVEXFER to get image and goes to state 7. 5. Application issues MSG_ENDXFER to return to state 6, and it displays the image. Then if it wants the next preview image, examines pTW_PENDINGXFERS->Count to verify that there is another image, and it goes to LOOP. Source, upon receiving the MSG_ENDXFER message, takes the next picture and returns -1 in the pTW_PENDINGXFERS->Count. END LOOP 6. If the application wants to end preview mode, it issues DAT_PENDINGXFERS / MSG_RESET. This forces the Source to go to state 5 (CAP_XFERCOUNT is set to 0). If the Source is unable to deliver preview images, it sets pTW_PENDINGXFERS->Count to 0 in reply to the application’s MSG_ENDXFER command, and returns to state 5. 7. The application can then issue MSG_DISABLEDS, which returns it to state 4, and now the application can use DG_CONTROL / DAT_FILESYSTEM / MSG_CHANGEDIRECTORY to change directory to the camera device to take a full resolution picture. So, the step 6 (DAT_PENDINGXFERS / MSG_RESET) that forces the Source to go to state 5 is optional, and when an application issues MSG_DISABLEDS the state could be 5 or 6. Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru> - - - - - 2 changed files: - dlls/sane.ds/ds_ctrl.c - dlls/sane.ds/sane_main.c View it on GitLab: https://gitlab.winehq.org/wine/wine/-/compare/71958c63809cbc925d994176adc9a1... -- View it on GitLab: https://gitlab.winehq.org/wine/wine/-/compare/71958c63809cbc925d994176adc9a1... You're receiving this email because of your account on gitlab.winehq.org. Manage all notifications: https://gitlab.winehq.org/-/profile/notifications | Help: https://gitlab.winehq.org/help