Ticket #15906: 15906-v2.patch
| File 15906-v2.patch, 2.1 KB (added by , 6 years ago) |
|---|
-
src/reverter/RevertChangesetTask.java
88 88 Logging.info("Reverting changeset {0}", Long.toString(changesetId)); 89 89 RevertChangesetCommand cmd = revertChangeset(changesetId); 90 90 if (cmd != null) { 91 GuiHelper.runInEDT(() -> { 92 UndoRedoHandler.getInstance().add(cmd); 93 }); 91 94 allcmds.add(cmd); 92 95 } 93 96 Logging.info("Reverted changeset {0}", Long.toString(changesetId)); 94 97 newLayer = false; // reuse layer for subsequent reverts 95 98 } catch (OsmTransferException e) { 99 if (!allcmds.isEmpty()) { 100 GuiHelper.runInEDT(() -> UndoRedoHandler.getInstance().undo(allcmds.size())); 101 } 96 102 Logging.error(e); 97 103 throw e; 98 104 } catch (UserCancelException e) { 99 105 Logging.warn("Revert canceled"); 100 106 Logging.trace(e); 107 if (!allcmds.isEmpty()) { 108 GuiHelper.runInEDT(() -> UndoRedoHandler.getInstance().undo(allcmds.size())); 109 } 101 110 return; 102 111 } 103 112 } … … 104 113 if (!allcmds.isEmpty()) { 105 114 Command cmd = allcmds.size() == 1 ? allcmds.get(0) : new SequenceCommand(tr("Revert changesets"), allcmds); 106 115 GuiHelper.runInEDT(() -> { 107 UndoRedoHandler.getInstance().add(cmd); 116 if (allcmds.size() > 1) { 117 // combine previously added commands for multiple reverts into a single command 118 UndoRedoHandler.getInstance().undo(allcmds.size()); 119 UndoRedoHandler.getInstance().add(cmd); 120 } 108 121 if (numberOfConflicts > 0) { 109 122 MainApplication.getMap().conflictDialog.warnNumNewConflicts(numberOfConflicts); 110 123 }
