Actions
Bug #1034
closedIncorrect identification of touchscreen display and wrong timer is being reset on touch events
Start date:
12 Sep 2023
Due date:
% Done:
100%
Estimated time:
Severity:
01 - Critical
Description
In pipics.c:main()
if ( piboxGetDisplayType() == PIBOX_LCD )
{
piboxLogger(LOG_INFO, "Registering imageTouch.\n");
piboxTouchRegisterCB(imageTouch, TOUCH_REGION);
piboxTouchStartProcessor();
}
is incorrect. It should be looking for PIBOX_TOUCH, not PIBOX_LCD.
Also:- db.c:playImages() starts a timer but it doesn't get reset on touch events. Instead, the image_cycle_id timer is reset.
- image_cycle_id timer is not needed and the playImages timer is the one that needs to be reset.
- playImages() is in db.c but should really be in pipics.c.
- do_drawing() function should not be setting or resetting any timers.
- displayImage() should call getNextImage() and return TRUE (not FALSE)
- cycleImage() can be removed
- pipicsPrev() should remove the playImages() timer, get the previous image and then call playImages().
- pipicsNext() should remove the playImages() timer, get the next image and then call playImages().
Actions