David Capello
aeb1a799d7
Improve write/read stability of backup data
...
Now we backup 3 versions for each object. And when an object is saved
correctly on disk, a "magic number" is saved at the beginning of the file.
In this way we know that the file really represents the full object (and
a crash was not occurred in the middle of the process).
2015-04-22 16:46:57 -03:00
David Capello
8e6080af0b
data_recovery.cpp: Fix TRACE() calls
2015-04-22 16:43:37 -03:00
David Capello
073831472c
Catch exception if DocumentDestroyer cannot lock the document to close it
2015-04-22 16:42:55 -03:00
David Capello
134dad8d5f
Use an object to implement crash::write_document() to avoid versions and dir params
2015-04-21 16:52:41 -03:00
David Capello
4b083030f1
Merge branch 'master' of git@github.com:aseprite/aseprite.git
2015-04-21 14:27:01 -03:00
David Capello
4e5860ce66
Remove (now) unnecessary update_screen_for_document() after saving process
...
If the sprite is locked and we cannot redraw the Editor, some defered
invalidations will be update the screen correctly.
2015-04-21 13:36:47 -03:00
David Capello
b699b92a3a
Add defer_invalid_rect() to re-invalidate areas that we weren't able to paint
...
Sometimes, the Editor and Timeline widgets cannot be validated because the
document is locked (i.e. cannot be read). In these cases we can start a
timer to re-invalidate those areas again (and try to draw them when the
document is unlocked).
2015-04-21 13:31:24 -03:00
David Capello
34adca2933
Keep a render::Zoom instead of percentage "int" value in ZoomCommand()
2015-04-21 13:20:42 -03:00
David Capello
9fa26dc2f4
Fix problem saving transparent GIF and PNG files when the background layer is hidden
2015-04-21 13:20:36 -03:00
David Capello
2453f2de97
Add debug traces to see that we are waiting for a document lock
2015-04-21 12:15:33 -03:00
David Capello
44bf546d0d
Don't wait for DocumentReader lock in Editor/Timeline::onPaint()
2015-04-21 12:14:56 -03:00
David Capello
0f4705e67b
Remove unnecessary ContextWriter at the end of SpriteSizeCommand
2015-04-21 12:14:02 -03:00
David Capello
8e150dcbee
We don't need a DocumentWriter lock to make the session backup
2015-04-21 11:06:46 -03:00
David Capello
e4f62942b7
Fix scroll issues when we clone a view
2015-04-21 10:24:42 -03:00
David Capello
e17804e9ff
Remove unnecessary locks in app::Job
2015-04-20 17:30:01 -03:00
David Capello
395baa3296
Don't lock for write when we save a document (we just need to read it)
2015-04-20 17:28:10 -03:00
David Capello
fedf818cda
Support more percentages as parameter in ZoomCommand (related to #633 )
...
In this way we could have a command to set zoom to 50%
2015-04-20 16:57:24 -03:00
David Capello
21c4fd51d9
Move app::DocumentLocation to doc::Site
...
This is a first step to include the current selected range of layers
and frames inside the doc::Site structure. So in the future we'll not need
to know about the Timeline in commands that handle those ranges.
2015-04-20 16:27:09 -03:00
David Capello
c5cf848d37
Fix tab height when we're docking a tab in the empty main Tabs widget
2015-04-20 14:04:38 -03:00
David Capello
47d2d8f902
Support to clone tabs using Ctrl+drag ( close #634 )
2015-04-20 13:49:25 -03:00
David Capello
441c796c1a
Add details about Retina display in INSTALL.md
2015-04-17 14:30:09 -03:00
David Capello
da342f29f3
Several changes related to UI scale
...
* UI scale is an experimental option (it needs app restart)
* We can change the Screen Scale without restarting the app now
* Hide reloading of skin data in SkinTheme::onRegenerate()
* Now setFontOfAllWidgets() is called from Theme::regenerate()
* Remove reload_default_font()
* Simplify gui_setup_screen()
2015-04-17 12:24:33 -03:00
David Capello
240149ef6f
Add UI Scale option (as separated concept from Screen Scale)
...
With this change we don't adapt the UI Scale automatically depending of
the display size, as it cannot be adjusted dynamically anyway (as the app
must be restarted to take this change correctly).
2015-04-17 11:11:36 -03:00
David Capello
39859e9858
Disable Ctrl+Tab (and Ctrl+Shift+Tab) when we are dragging tabs
2015-04-17 09:49:49 -03:00
David Capello
61fa0b454f
Tabs: Use selectTabInternal() in kMouseDownMessage handler
2015-04-17 09:28:52 -03:00
David Capello
81f41e6793
Fix crash pressing Ctrl+Tab (or Ctrl+Shift+Tab) when there are no tabs
2015-04-17 09:25:53 -03:00
David Capello
7e65cab22f
Merge branch 'master' of git@github.com:aseprite/aseprite.git
2015-04-16 20:32:41 -03:00
David Capello
4bb7c87af5
Recreate SkiaSurface when the window is resized
2015-04-16 20:32:15 -03:00
David Capello
d36883e61e
Disable unpremultiplied colors in skia port
2015-04-16 20:31:17 -03:00
David Capello
1d87bbd6b3
Add she/win/vk.cpp with win32vk_to_scancode() function
2015-04-16 20:30:13 -03:00
David Capello
b884e81cf3
Implement some SkiaSurface member functions using a SkCanvas
2015-04-16 20:27:23 -03:00
David Capello
55cafac735
Proper clipping in CommonLockedSurface::drawColoredRgbaSurface() impl
2015-04-16 20:26:05 -03:00
David Capello
cbed44e627
Add LockedSurface::lockedWidth/Height() member functions
2015-04-16 20:25:40 -03:00
David Capello
6b25004b48
Add SkiaSurface::swapBitmap()
2015-04-16 15:38:44 -03:00
David Capello
46a03b1f4c
Fix SharedPtr usage in SkiaSystem::loadSurface()
2015-04-16 15:37:31 -03:00
David Capello
ef522206f4
Avoid warning about unused var in release mode
2015-04-16 14:40:55 -03:00
David Capello
2b838dc7f3
Add USE_NATIVE_WIN32_CLIPBOARD in app/util/clipboard.cpp
2015-04-16 13:40:30 -03:00
David Capello
aae3e69fda
Fix bug showing frame # and opacity slider in StatusBar without an active document
2015-04-16 13:14:39 -03:00
David Capello
5a5a6fe4f6
Replace slider_change_hook() with StatusBar::onCelOpacityChange()
2015-04-16 13:07:14 -03:00
David Capello
a4bf93e4d5
MaskByColorCommand needs an active image to be executed ( fix #627 )
2015-04-16 12:55:39 -03:00
David Capello
087b52213c
Add new matrices to create an outline in RGB transparent layers
2015-04-16 11:08:35 -03:00
David Capello
849e40b0f9
Fix crash when PixelsMovement() wants to create an extra cel without enough memory
v1.1-beta2
2015-04-15 13:59:41 -03:00
David Capello
43a0279a24
Fix crash converting sprite to grayscale
2015-04-15 13:58:35 -03:00
David Capello
13a977f0e6
Continue loading backup data if we fail loading one image
2015-04-15 12:20:41 -03:00
David Capello
7fc2e3bec8
Use fast rotation if we don't have enough memory for RotSprite
2015-04-15 10:13:06 -03:00
David Capello
4dbff50f1e
Catch any kind of exception in Editor::onProcessMessage()
2015-04-15 10:06:55 -03:00
David Capello
19d2713d8f
Avoid crash when we change the rotation algorithm
...
This can happen when RotSprite needs a lot of memory and we change the
algorithm from Fast to RotSprite.
2015-04-15 10:06:38 -03:00
David Capello
4e1cebf966
Give some timeout to lock the sprite in certain operations
2015-04-15 09:59:36 -03:00
David Capello
66c5f76146
Avoid crashes when some EditorState in Editor::onProcessMessage() cannot lock the document
2015-04-15 09:58:41 -03:00
David Capello
b4d97a4d35
Fix scroll problem with EditorView when we drag-and-drop Tabs
v1.1-beta1
2015-04-10 13:02:15 -03:00