Changeset 1182 for trunk/src/org/expeditee/gui/DisplayController.java
- Timestamp:
- 10/02/18 10:26:22 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/gui/DisplayController.java
r1171 r1182 1459 1459 */ 1460 1460 public static synchronized void requestRefresh(boolean useInvalidation) { 1461 requestRefresh(useInvalidation, () -> false);1461 requestRefresh(useInvalidation, null); 1462 1462 } 1463 1463 … … 1482 1482 private Boolean _requeueWithInvalidation = null; 1483 1483 private Object _lock = new Object(); 1484 private BooleanSupplier callback;1484 private List<BooleanSupplier> callbacks = new LinkedList<BooleanSupplier>(); 1485 1485 1486 1486 /** Enqueues a redraw on the GIO thread, or remembers to do so once the current redraw finishes. */ 1487 1487 public void enqueue(final boolean useInvalidation, final BooleanSupplier callback) 1488 1488 { 1489 synchronized(callbacks) { 1490 if(callback != null) { 1491 callbacks.add(callback); 1492 } 1493 } 1489 1494 synchronized (_lock) { 1490 1495 if (!_enqueued) { 1491 1496 _enqueued = true; 1492 this.callback = callback;1493 1497 _useInvalidation = useInvalidation; 1494 1498 EcosystemManager.getMiscManager().runOnGIOThread(this); … … 1503 1507 { 1504 1508 try { 1505 if(refresh(_useInvalidation) && callback != null) { 1506 callback.getAsBoolean(); 1507 callback = null; 1509 if(refresh(_useInvalidation)) { 1510 synchronized (callbacks) { 1511 callbacks.forEach(cb -> cb.getAsBoolean()); 1512 callbacks.clear(); 1513 } 1508 1514 } 1509 1515 } catch (Throwable e) {
Note:
See TracChangeset
for help on using the changeset viewer.