Mercurial > public > ostc4
comparison Discovery/Src/tMenu.c @ 815:ce8f71217f45
Bugfix CustomView selection during dive mode:
The CustomView selection during dive mode was limited to two pages, while meanwhile three are needed to show all options. The problem did not showup in surface mode selection. Rootcause was a static definition instead of the dynamic one used in surface mode. In addition with every page shift a new page was created which might cause display errors after some times. To solve this the pages are now updated instead of rebuilding the pages.
author | Ideenmodellierer |
---|---|
date | Sun, 03 Sep 2023 18:03:49 +0200 |
parents | 4c41d9a18c7f |
children | c4ee952b9425 |
comparison
equal
deleted
inserted
replaced
814:26ae9e8f24fd | 815:ce8f71217f45 |
---|---|
250 { | 250 { |
251 menu.disableLineMask[idList.page] |= (1 << idList.line); | 251 menu.disableLineMask[idList.page] |= (1 << idList.line); |
252 } | 252 } |
253 } | 253 } |
254 | 254 |
255 void resetLineMask(uint32_t lineId) | |
256 { | |
257 SStateList idList; | |
258 get_idSpecificStateList(lineId, &idList); | |
259 if(idList.page < MAXPAGES) | |
260 { | |
261 menu.disableLineMask[idList.page] = 0; | |
262 } | |
263 } | |
255 void enableLine(uint32_t lineId) | 264 void enableLine(uint32_t lineId) |
256 { | 265 { |
257 SStateList idList; | 266 SStateList idList; |
258 | 267 |
259 get_idSpecificStateList(lineId, &idList); | 268 get_idSpecificStateList(lineId, &idList); |
478 line = menu.lineMemoryForNavigationForPage[page]; | 487 line = menu.lineMemoryForNavigationForPage[page]; |
479 | 488 |
480 if(line == 0) | 489 if(line == 0) |
481 line = 1; | 490 line = 1; |
482 | 491 |
483 if(menu.disableLineMask[page] & ( 1 << line)) | 492 while(menu.disableLineMask[page] & ( 1 << line)) |
484 { | 493 { |
485 line++; | 494 line++; |
495 if(line > menu.linesAvailableForPage[page]) | |
496 { | |
497 line = 1; | |
498 } | |
486 } | 499 } |
487 | 500 |
488 if(line > menu.linesAvailableForPage[page]) | 501 if(line > menu.linesAvailableForPage[page]) |
489 line = 1; | 502 line = 1; |
490 | 503 |
710 break; | 723 break; |
711 case StMSP: | 724 case StMSP: |
712 tMSP_refresh(text, &tabPosition, subtext); | 725 tMSP_refresh(text, &tabPosition, subtext); |
713 update_content_with_new_frame(page, text, tabPosition, subtext); | 726 update_content_with_new_frame(page, text, tabPosition, subtext); |
714 break; | 727 break; |
728 case StMSYS: | |
729 tMSystem_refresh(0, text, &tabPosition, NULL); | |
730 update_content_with_new_frame(page, text, tabPosition, subtext); | |
731 break; | |
732 | |
715 default: | 733 default: |
716 break; | 734 break; |
717 } | 735 } |
718 } | 736 } |
719 | 737 |