Commit Graph

7312 Commits

Author SHA1 Message Date
Émilie Feral
d49f5e8f3a [poincare] Fix potential deferencing nullptr 2018-05-14 13:39:04 +02:00
Émilie Feral
203311f81b [escher] Fix reading garbage memory in TextField 2018-05-14 13:38:28 +02:00
Émilie Feral
aa13e7bc95 [poincare] Fraction layout: removing a fraction layout triggered bug
when cursor pointed to Empty layout which where then deleted.
2018-05-14 10:36:21 +02:00
Émilie Feral
db38f027d4 [poincare] Fix memory leak: parsed expression must be delete 2018-05-11 17:58:18 +02:00
Émilie Feral
246afc26da [poincare] Fix infinite loop: when adding a sibling between 2
VerticalOffsets
2018-05-11 17:18:01 +02:00
Émilie Feral
e16f24f69e [poincare] Fix bug: O^O|^x --'Backspace' --> O|^x with O = Empty Layout 2018-05-11 17:17:50 +02:00
Romain Goyet
4718fbe64e [ion/device] Fix the flasher bridge 2018-05-11 16:43:16 +02:00
Romain Goyet
6b31f47a08 [travis] Run the integration tests on blackbox 2018-05-11 16:43:04 +02:00
Romain Goyet
1496ec3a72 [blackbox] add a make epsilon_fuzz target 2018-05-11 16:43:04 +02:00
Romain Goyet
a92f44b666 [blackbox] Add the option to run all the integration tests 2018-05-11 16:43:04 +02:00
Romain Goyet
f8f9cee082 [tests] Add some integration scenarios 2018-05-11 16:43:04 +02:00
Émilie Feral
3a97776c83 [poincare] Fix bug: removing a fraction layout inside a matrix should
not set the cursor outside of the matrix

Example: 'Backspace' with cursor to the left of 2 (O = empty char)
 ------------------          ------------------
|   O              |        |                  |
|  ---         O   |        |  |2         O    |
|  |2              |------> |                  |
|                  |        |                  |
|                  |        |   O         O    |
|   O          O   |        |                  |
 ------------------          ------------------

instead of -------->  | [2] (with bug on the grey rectangle!)
2018-05-11 14:18:32 +02:00
Émilie Feral
8276e99b1e [calculation] Conditional jump on uninitialized boolean 2018-05-11 14:12:40 +02:00
Léa Saviot
69414998e8 [poincare] Fix FractionLayout::deleteBeforeCursor
Change-Id: I4e09fe1203df1c67e3146912f3f3907088674f1f
2018-05-09 18:22:33 +02:00
Romain Goyet
a38369aa98 [ion] Revert blackbox's object list 2018-05-09 18:11:45 +02:00
Romain Goyet
0f02483a36 [ion] Build libepsilon as an object file 2018-05-09 18:11:45 +02:00
Romain Goyet
aad95380f5 [ion] Multithreaded framebuffer comparison 2018-05-09 18:11:45 +02:00
Romain Goyet
806b87ef36 [ion] Add the ability to build blackbox as a shared library 2018-05-09 18:11:45 +02:00
Léa Saviot
31dae66dfb [poincare] DynLayout: Do not detach children needing to be deleted
Change-Id: Id46afd541c8090268e7f48f09a07e6cb6240f445
2018-05-09 18:03:30 +02:00
Romain Goyet
49e1b0e373 [ion/device] Give an opportunity to slow down the whole machine 2018-05-09 17:52:09 +02:00
Romain Goyet
324ff8277b [ion/device/display] Always use send_data/send_command functions
Wrap all accesses to DataAddress and CommandAddress into 3 functions
2018-05-09 17:52:09 +02:00
Romain Goyet
c091d1f59d [apps/code] Add an EditorView that has a gutter 2018-05-09 17:46:09 +02:00
Romain Goyet
daee2998c5 [escher] Add a ScrollViewDelegate 2018-05-09 17:46:09 +02:00
Léa Saviot
a5d65deb3e [poincare] Remove empty base of VerticalOffset in addChildrenAtIndexLayout
Change-Id: I5bd3763df7452b6994bc1d7f7471d342964e86a9
2018-05-09 17:39:43 +02:00
Léa Saviot
eaca1d7028 [poincare] Code cleaning
Change-Id: I4b11c119938eeee9c9dd6ded370ef5f458faaa15
2018-05-09 17:09:18 +02:00
Léa Saviot
f75fdbda12 [poincare] Fix Exp SquarePower SquarePower
Change-Id: I2c378728fe99096497d396dd6ae526867326ace5
2018-05-09 16:37:54 +02:00
Léa Saviot
68b1ddf058 [poincare] Code cleaning
Change-Id: Icc60c8ec81fbe8ed01ed3afc776b60d760975d63
2018-05-09 16:09:32 +02:00
Léa Saviot
d63ad7e42d [poincare] Handle pressing "Divide" when the cursor is (^2|)
Change-Id: If05116852e037bd22c91725e8ced9b2958da33a8
2018-05-09 16:03:58 +02:00
Léa Saviot
c9c216c071 [poincare] Fix HorizontalLayout::privateAddSibling
Change-Id: I0cebcaedc4d36749f79293c8bd8acc289522dbc2
2018-05-09 15:26:44 +02:00
Léa Saviot
31af7f9e12 [poincare] Fix HorizontalLayout::privateAddSibling
If an OffsetLayout is added on the right of an HorizontalLayout whose
last child is Empty, this empty child should not be removed.

Change-Id: I72ae2fe52385fa65b8c5fb43ca519a2049c9fe1b
2018-05-09 15:04:07 +02:00
Léa Saviot
8e6b1f4c45 [poincare] Fix ExpressionLayoutCursor::baseForNewPowerLayout
If the cursor is on the left of an empty layout, move it to its right
and this empty layout will be the base of the new power layout.

Change-Id: I81be3787ca1d279fc370fcbe86e558ec078b7b44
2018-05-09 14:54:59 +02:00
Léa Saviot
029e46ce39 [poincare] Fix bug in EmptyLayout::cursorVerticalOf
Change-Id: I1f95fa90641f90edbc751c5a36c139f55f3c42c4
2018-05-09 14:10:32 +02:00
Léa Saviot
c1fbaab452 [coding style] Remove white line
Change-Id: I1c5baffdbe0727eb814158a872db3cbb9ac131bf
2018-05-09 13:56:22 +02:00
Léa Saviot
a09c671cc5 [poincare] EmptyLayout reorganization.
Change-Id: Ie575bd4f022058316ba18504666b70c10786d1a7
2018-05-09 13:55:12 +02:00
Léa Saviot
790c9c7be3 [poincare] Clean EmptyLayout
Change-Id: I880a66c79c440912ff6bbcc86c6f22d3bdb8a5ad
2018-05-09 13:50:35 +02:00
Léa Saviot
30007a3574 [poincare] Handle Matrix GreySquares on ShiftLeft/Right events.
Change-Id: Id0b0b6c99c683808d3b21123e208da8b6e8e1175
2018-05-09 13:43:00 +02:00
Léa Saviot
695e189836 [poincare] Add method removeGreySquaresFromAllMatrixAncestors
Change-Id: I1351138fde688be3cba57b8f7ba1cd7b3010b0bc
2018-05-09 13:42:31 +02:00
Léa Saviot
b5f4a7b3f0 [poincare] Simplify MatrixLayout code
Change-Id: I4bfcf3da94296b8314ff47a1a71dbc79150a4027
2018-05-09 13:32:27 +02:00
Léa Saviot
7e9bbe3aea [ion] Add event names for Shift+Up/Down/Left/Right
Change-Id: I03cd5707ea2d9e460ed925009442e15d38572798
2018-05-09 12:17:30 +02:00
Léa Saviot
dcc75dbc7d [poincare] Remove overriding method in Matrix.
Adding GreySquares when moving the cursor inside a matrix is already
handled by ExpressionLayout.

Change-Id: I6e8b4b5dab54c5f6f3528509fd52e9694991e3fb
2018-05-09 12:01:34 +02:00
Léa Saviot
4692f0a6f4 [poincare] Fix collapsing layout bug.
Change-Id: I6b1763e54e44645ab83c8be82ed6d5fcfc29fc91
2018-05-09 11:35:58 +02:00
Léa Saviot
0ea3d488f1 [escher] Clean code in expression_layout_field.cpp
Change-Id: I80a7d8445209efece8c0f293d5761b04d087b884
2018-05-09 11:12:30 +02:00
Léa Saviot
d56f94224f [escher] Fix cursor position when copy pasting in ELField
Change-Id: I7408e89ceb6ef6e7bce7e47dc6b3d2a4945cfdbf
2018-05-09 11:10:35 +02:00
Romain Goyet
7851aa6fff [ion/device] Remove useless delays in the Flash operations
The datasheet advises to wait for BSY to be cleared before performing
any operation on the Flash. That being said, in the only two cases where
BSY could be set in the first place (writing to or erasing the flash),
we already wait for it to be cleared. There's therefore no need to
double check it afterwards.
2018-05-09 11:03:01 +02:00
Romain Goyet
306904aec2 [ion/device] Proper flash cache flushing (fix #439) 2018-05-09 11:03:01 +02:00
Romain Goyet
26edd70bd7 [ion] Re-enable the Flash I/D cache after flushing it 2018-05-09 11:03:01 +02:00
Romain Goyet
6556751d59 [ion] Use a distinct Device::Flash namespace 2018-05-09 11:03:01 +02:00
Léa Saviot
9af3d378d1 [apps] Fix CondensedSumLayout created with a nullptr child
Change-Id: Ie6d4c6408a45a9cdf617b8cba988667c17f4cc36
2018-05-09 09:55:58 +02:00
Émilie Feral
aefcf5262d [apps] On a plugging event, the brightness is set a its prefered level instead
of the maximum level
2018-05-09 09:51:14 +02:00
Émilie Feral
7bc5142c8f [hardware test] Avoid passing battery test if the level is "somewhere in
between"
2018-05-09 09:50:56 +02:00