Campbell Barton
366865dd02
Undo System: replace with simpler binary diffing buffer storage
...
Applying/undoing incremental changes didn't fit well when
mixed with periodic snapshots from mem-file undo.
This moves to a much simpler undo system.
- Uses array storage with de-duplication from `BLI_array_store`.
- Loads the buffer into existing text data,
for better performance on large files.
- Has the advantage that Python operators can be supported
since we don't depend on hard coded undo operations.
Solves T67045, T66695, T65909.
2019-07-17 21:19:22 +10:00
..
2019-07-15 15:13:45 +02:00
2019-05-16 14:11:11 +02:00
2019-06-12 09:43:49 +10:00
2019-05-01 11:13:14 +10:00
2019-06-01 10:51:19 -06:00
2019-05-08 17:17:15 +03:00
2019-07-11 09:22:42 +10:00
2019-04-17 06:21:24 +02:00
2019-04-27 12:07:07 +10:00
2019-04-17 06:21:24 +02:00
2019-05-16 14:11:11 +02:00
2019-05-16 14:11:11 +02:00
2019-07-16 17:46:45 +02:00
2019-05-01 11:13:14 +10:00
2019-05-17 20:03:26 +02:00
2019-07-02 22:17:22 +10:00
2019-05-29 01:02:04 -03:00
2019-07-02 18:09:01 +02:00
2019-05-20 16:35:34 +02:00
2019-04-22 19:48:17 +10:00
2019-04-27 12:07:07 +10:00
2019-04-22 19:48:17 +10:00
2019-04-22 19:48:17 +10:00
2019-04-17 06:21:24 +02:00
2019-04-22 19:48:17 +10:00
2019-04-22 19:48:17 +10:00
2019-04-17 06:21:24 +02:00
2019-05-31 23:22:52 +10:00
2019-07-02 22:17:22 +10:00
2019-07-16 16:08:32 +02:00
2019-04-27 12:07:07 +10:00
2019-04-27 12:07:07 +10:00
2019-07-03 17:18:13 +02:00
2019-06-28 15:03:24 +02:00
2019-05-28 17:06:41 +02:00
2019-06-05 15:17:53 +02:00
2019-04-17 06:21:24 +02:00
2019-07-10 14:41:19 +10:00
2019-04-22 19:48:17 +10:00
2019-07-03 16:45:35 +02:00
2019-04-17 06:21:24 +02:00
2019-07-02 22:17:22 +10:00
2019-05-03 12:43:02 +10:00
2019-06-13 20:03:06 +02:00
2019-06-09 21:11:37 +02:00
2019-07-16 11:44:08 +02:00
2019-05-01 11:13:14 +10:00
2019-04-17 06:21:24 +02:00
2019-04-22 19:48:17 +10:00
2019-04-17 06:21:24 +02:00
2019-05-01 11:13:14 +10:00
2019-05-22 00:59:43 +10:00
2019-05-21 15:07:01 +02:00
2019-06-12 09:43:49 +10:00
2019-04-17 06:21:24 +02:00
2019-06-12 09:43:49 +10:00
2019-07-07 23:57:35 +10:00
2019-04-22 19:48:17 +10:00
2019-07-04 16:29:05 +02:00
2019-07-02 19:17:38 +02:00
2019-04-17 06:21:24 +02:00
2019-04-27 12:07:07 +10:00
2019-04-22 19:48:17 +10:00
2019-04-17 06:21:24 +02:00
2019-05-16 14:17:50 +02:00
2019-07-08 11:05:45 +02:00
2019-04-23 19:06:17 +02:00
2019-07-08 11:05:45 +02:00
2019-06-12 09:43:49 +10:00
2019-04-27 12:07:07 +10:00
2019-04-17 06:21:24 +02:00
2019-05-01 16:34:54 +03:00
2019-04-17 06:21:24 +02:00
2019-06-12 09:43:49 +10:00
2019-04-27 12:07:07 +10:00
2019-06-15 09:24:38 +10:00
2019-06-25 21:18:20 +02:00
2019-07-16 17:27:53 +10:00
2019-07-07 23:57:35 +10:00
2019-05-28 20:06:22 +02:00
2019-06-26 14:05:55 +02:00
2019-04-27 12:07:07 +10:00
2019-06-12 09:43:49 +10:00
2019-05-23 09:47:13 +02:00
2019-07-02 22:17:22 +10:00
2019-05-23 09:47:13 +02:00
2019-06-12 15:52:03 +02:00
2019-07-02 18:05:10 +10:00
2019-04-27 12:07:07 +10:00
2019-07-10 14:13:42 +02:00
2019-07-02 22:17:22 +10:00
2019-07-08 18:09:52 +02:00
2019-07-10 11:24:37 +02:00
2019-04-27 12:07:07 +10:00
2019-04-27 12:07:07 +10:00
2019-05-29 10:44:11 +02:00
2019-05-01 11:13:14 +10:00
2019-04-27 12:07:07 +10:00
2019-07-11 14:44:57 +02:00
2019-07-17 18:39:42 +10:00
2019-06-21 09:53:51 +02:00
2019-04-17 06:21:24 +02:00
2019-06-17 12:52:20 +10:00
2019-04-17 06:21:24 +02:00
2019-07-09 12:12:54 +02:00
2019-06-12 09:43:49 +10:00
2019-07-02 18:05:10 +10:00
2019-05-01 11:13:14 +10:00
2019-05-14 18:10:25 -03:00
2019-04-22 19:48:17 +10:00
2019-07-03 14:06:54 +02:00
2019-07-16 16:08:32 +02:00
2019-05-01 11:13:14 +10:00
2019-04-17 06:21:24 +02:00
2019-07-08 00:43:44 +10:00
2019-05-01 20:32:38 +10:00
2019-06-06 18:48:37 +02:00
2019-04-22 19:48:17 +10:00
2019-07-03 00:58:14 -03:00
2019-06-21 12:09:45 +02:00
2019-07-15 17:03:33 +02:00
2019-06-17 09:16:13 -03:00
2019-06-17 09:16:13 -03:00
2019-06-17 09:16:13 -03:00
2019-07-16 17:33:24 +02:00
2019-04-22 19:48:17 +10:00
2019-07-16 16:08:32 +02:00
2019-07-01 11:14:18 +02:00
2019-07-01 12:10:49 +10:00
2019-06-12 09:43:49 +10:00
2019-04-22 19:48:17 +10:00
2019-04-22 19:48:17 +10:00
2019-07-08 15:16:46 -07:00
2019-06-14 23:21:12 +02:00
2019-05-01 11:13:14 +10:00
2019-07-10 14:41:19 +10:00
2019-07-07 15:38:41 +10:00
2019-07-08 15:57:33 +02:00
2019-04-27 12:07:07 +10:00
2019-05-24 20:26:21 +02:00
2019-04-17 06:21:24 +02:00
2019-04-17 06:21:24 +02:00
2019-07-15 17:38:47 +02:00
2019-06-12 09:43:49 +10:00
2019-04-17 06:21:24 +02:00
2019-04-17 06:21:24 +02:00
2019-04-17 06:21:24 +02:00
2019-04-17 06:21:24 +02:00
2019-06-15 09:24:38 +10:00
2019-04-17 06:21:24 +02:00
2019-04-17 06:21:24 +02:00
2019-07-08 18:09:52 +02:00
2019-04-17 06:21:24 +02:00
2019-04-17 06:21:24 +02:00
2019-06-12 09:43:49 +10:00
2019-05-01 11:13:14 +10:00
2019-07-17 21:19:22 +10:00
2019-04-27 12:07:07 +10:00
2019-04-18 07:59:28 +02:00
2019-04-22 19:48:17 +10:00
2019-04-17 06:21:24 +02:00
2019-04-27 12:07:07 +10:00
2019-04-22 19:48:17 +10:00
2019-07-02 18:05:10 +10:00
2019-04-22 19:48:17 +10:00
2019-04-27 12:07:07 +10:00
2019-07-16 17:14:19 +10:00
2019-06-12 14:25:05 +10:00
2019-06-15 09:24:38 +10:00
2019-04-27 12:07:07 +10:00
2019-05-07 11:12:40 +02:00
2019-07-02 18:20:52 +02:00