1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-20 06:45:10 +03:00

Screenshots on X10 / X12S were not always working (thanks Lothar for the new report)

This commit is contained in:
Bertrand Songis 2019-11-14 11:53:46 +01:00
parent 8ae2af3347
commit 0d1761d7ad
No known key found for this signature in database
GPG key ID: F189F79290FEC50F

View file

@ -289,13 +289,14 @@ void guiMain(event_t evt)
lcdRefreshWait(); // WARNING: make sure no code above this line does any change to the LCD display buffer! lcdRefreshWait(); // WARNING: make sure no code above this line does any change to the LCD display buffer!
#endif #endif
bool screenshotRequested = (mainRequestFlags & (1u << REQUEST_SCREENSHOT));
if (!refreshNeeded) { if (!refreshNeeded) {
DEBUG_TIMER_START(debugTimerMenus); DEBUG_TIMER_START(debugTimerMenus);
while (true) { while (true) {
// normal GUI from menus // normal GUI from menus
const char * warn = warningText; const char * warn = warningText;
uint8_t menu = popupMenuItemsCount; uint8_t menu = popupMenuItemsCount;
static bool popupDisplayed = false; static bool popupDisplayed = false;
if (warn || menu) { if (warn || menu) {
if (popupDisplayed == false) { if (popupDisplayed == false) {
@ -305,7 +306,7 @@ void guiMain(event_t evt)
lcdStoreBackupBuffer(); lcdStoreBackupBuffer();
TIME_MEASURE_STOP(storebackup); TIME_MEASURE_STOP(storebackup);
} }
if (popupDisplayed == false || evt) { if (popupDisplayed == false || evt || screenshotRequested) {
popupDisplayed = lcdRestoreBackupBuffer(); popupDisplayed = lcdRestoreBackupBuffer();
if (warn) { if (warn) {
DISPLAY_WARNING(evt); DISPLAY_WARNING(evt);
@ -358,7 +359,7 @@ void guiMain(event_t evt)
DEBUG_TIMER_STOP(debugTimerMenus); DEBUG_TIMER_STOP(debugTimerMenus);
} }
if (mainRequestFlags & (1u << REQUEST_SCREENSHOT)) { if (screenshotRequested) {
writeScreenshot(); writeScreenshot();
mainRequestFlags &= ~(1u << REQUEST_SCREENSHOT); mainRequestFlags &= ~(1u << REQUEST_SCREENSHOT);
} }