As .dmp files are useful only for official releases (i.e. when we have the
compiled .exe+.pdb), this is an alternative message to stop receiving
.dmp files at support@aseprite.org that cannot be used to debug a crash.
Steps to reproduce the crash without this patch:
1. Create a new sprite
2. Copy the first cel from the Timeline
3. Create a new sprite
4. Close the first sprite
5. Paste the copied cel to the second sprite
The program crashed because the original sprite is invalid now. With this
patch we observe the main DocumentsObserver to check when the document is
closed/destroyed. In this way we can invalidate the clipboard content.
With this change we are removing specific code to scroll the Editor widget.
Now if we use Editor::setEditorScroll() to scroll it should work as
View::setViewScroll(). In this way we remove the ugly "blitValidRegion"
parameter from setEditorScroll().
Changes:
* Removed Widget::scrollRegion() because each widget must control
valid/invalid regions after a ui::move_region() in a very specific way
(see View::setViewScroll() or Window::moveWindow)
* Invalidate the whole widget on Widget::setBoundsQuietly()
* Fixed problems blitting invalid regions/not yet updated/painted: using
the new ui::Manager::m_invalidRegion.
* Added View::onSetViewScroll() and View::onScrollRegion()
* Added FileListView to avoid moving the thumbnail region when we scroll
i changed all the commands from `cmake .. <options>` to `cmake <options> ..` - this is the standard order and on BSD systems the C library requires options to precede other arguments (although i don't know if this affects CMake).
also i was confused by the instructions, i thought i have to use `build/bin/aseprite` and shouldn't run `make install`. maybe it's just me but i still clarified that part.
We don't have to close the OS window when its close button is pressed.
We just generate an CloseDisplay event and the client (app/ui layer) must
process it (e.g. check if there are no unsaved changes) and then close
the she::Display manually.