Project

General

Profile

Actions

Bug #1034

closed

Incorrect identification of touchscreen display and wrong timer is being reset on touch events

Added by Hammel 8 months ago. Updated 8 months ago.

Status:
Closed
Priority:
Immediate
Assignee:
Target version:
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

Also available in: Atom PDF