aseprite/src/ui
David Capello 38abac8b79 Fix crash on Windows using Manager::enqueueMessage() from non-UI thread
From time to time the app::BackupObserver::backgroundThread() will use
ui::execute_from_ui_thread() to show/hide the backup notification icon
in the StatusBar (see SwitchBackupIcon class). This
ui::execute_from_ui_thread() function enqueues a ui::FunctionMessage
calling the Manager::enqueueMessage(). The issue here is that
enqueueMessage() uses ui::is_ui_thread() to check if the thread that
wants to enqueue the message is the UI thread or other thread, and
depending on this decission the message will be directly added to
msg_queue or enqueued into concurrent_msg_queue.

The issue was that ui::is_ui_thread() was not working correctly on
Windows because GetCurrentThread() is not useful to check the current
thread with a previous call of GetCurrentThread() from other
thread (the function always return the same value, a special generic
value that identifies the current thread whatever it is).
2019-05-11 13:53:31 -03:00
..
accelerator_ui_tests.cpp Fix problem mapping "Ctrl++ Pad" key 2015-06-10 16:44:46 -03:00
accelerator.cpp Rename she -> os 2018-08-09 12:58:43 -03:00
accelerator.h Fix several keyboard issues deadling with special characters/dead keys 2016-11-17 18:07:00 -03:00
alert.cpp lua: add app.alert() function 2018-09-07 16:42:58 -03:00
alert.h lua: add app.alert() function 2018-09-07 16:42:58 -03:00
base.h Improve the File Selector adding new view types: list, small icons, big icons (fix #451) 2019-03-25 22:09:22 -03:00
box.cpp Add ui::IGNORE_MOUSE flag for static widgets 2018-12-13 10:48:12 -03:00
box.h Fix bug drawing box/grids bgcolor on tooltip windows 2017-03-09 15:12:39 -03:00
button.cpp lua: add Dialog() 2018-10-11 12:01:21 -03:00
button.h lua: add Dialog() 2018-10-11 12:01:21 -03:00
clipboard_delegate.h Add option to disable native clipboard 2018-05-24 12:56:07 -03:00
close_event.h Fix header of files distributed under the terms of the MIT license 2014-03-29 20:08:05 -03:00
CMakeLists.txt ui library doesn't depend on pixman directly 2018-08-29 10:23:15 -03:00
combobox.cpp Improve context bar for slice tool (combobox of slices + action buttons) 2019-05-07 10:28:37 -03:00
combobox.h Improve context bar for slice tool (combobox of slices + action buttons) 2019-05-07 10:28:37 -03:00
component.cpp Fix problem resetting fonts after F5 for widgets with "mini font" (after theme is reloaded) 2015-05-05 19:14:33 -03:00
component.h Fix problem resetting fonts after F5 for widgets with "mini font" (after theme is reloaded) 2015-05-05 19:14:33 -03:00
cursor_type.h Add a new mouse cursor to move selection edges 2017-04-06 18:41:18 -03:00
cursor.cpp Rename she -> os 2018-08-09 12:58:43 -03:00
cursor.h Rename she -> os 2018-08-09 12:58:43 -03:00
entry.cpp Add ability to edit multiple slices 2019-05-02 16:26:13 -03:00
entry.h Avoid running ui::Entry timer when it's not needed 2018-12-12 13:27:24 -03:00
event.cpp Include config.h in ui/event.cpp 2015-06-23 14:40:54 -03:00
event.h Fix header of files distributed under the terms of the MIT license 2014-03-29 20:08:05 -03:00
fit_bounds.cpp Add possibility to move the Timeline at the left/right side (fix #1169) 2016-09-15 11:07:36 -03:00
fit_bounds.h Add possibility to move the Timeline at the left/right side (fix #1169) 2016-09-15 11:07:36 -03:00
graphics.cpp Remove ASSERT() that can fail in Graphics::doUIStringAlgorithm() 2019-04-12 16:03:24 -03:00
graphics.h Improve ui::Theme::drawSlices() performance using os::Surface::drawSurfaceNine() 2019-04-11 22:54:47 -03:00
grid_ui_tests.cpp Fix ui::Alert buttons center alignment 2016-09-14 15:47:27 -03:00
grid.cpp Add ui::IGNORE_MOUSE flag for static widgets 2018-12-13 10:48:12 -03:00
grid.h Fix bug drawing box/grids bgcolor on tooltip windows 2017-03-09 15:12:39 -03:00
hit_test_event.h Refactor several "getNoun()" getters to "noun()" 2015-12-04 14:39:04 -03:00
image_view.cpp Rename she -> os 2018-08-09 12:58:43 -03:00
image_view.h Rename she -> os 2018-08-09 12:58:43 -03:00
init_theme_event.h Support changing theme and UI scaling w/o restart (fix #471) 2017-08-15 10:39:06 -03:00
int_entry.cpp Rename she -> os 2018-08-09 12:58:43 -03:00
int_entry.h Support changing theme and UI scaling w/o restart (fix #471) 2017-08-15 10:39:06 -03:00
intern.cpp Fix crash dragging the mouse in the toolbar 2017-09-04 18:10:02 -03:00
intern.h Rename she -> os 2018-08-09 12:58:43 -03:00
keys.h Rename she -> os 2018-08-09 12:58:43 -03:00
label.cpp Add ui::IGNORE_MOUSE flag for static widgets 2018-12-13 10:48:12 -03:00
label.h Convert label and view into new styles 2017-02-14 14:55:45 -03:00
layout_io.h Fix header of files distributed under the terms of the MIT license 2014-03-29 20:08:05 -03:00
LICENSE.txt Improve the File Selector adding new view types: list, small icons, big icons (fix #451) 2019-03-25 22:09:22 -03:00
link_label.cpp Add ui::IGNORE_MOUSE flag for static widgets 2018-12-13 10:48:12 -03:00
link_label.h Convert label and view into new styles 2017-02-14 14:55:45 -03:00
listbox.cpp Minor change in listbox.cpp to avoid gcc warnings 2018-06-06 16:36:59 -03:00
listbox.h Add search field on Font Popup 2017-03-15 14:24:42 -03:00
listitem.cpp Implement Add/Uninstall extension (#1403) 2017-06-12 12:38:53 -03:00
listitem.h Improve keyboard shortcuts list with resizable headers 2017-10-24 10:20:21 -03:00
load_layout_event.h Refactor several "getNoun()" getters to "noun()" 2015-12-04 14:39:04 -03:00
manager.cpp Fix crash on Windows using Manager::enqueueMessage() from non-UI thread 2019-05-11 13:53:31 -03:00
manager.h Remove ui::Manager::removeWidgetFromRecipients() 2018-12-15 10:08:47 -03:00
menu.cpp Add ui::IGNORE_MOUSE flag for static widgets 2018-12-13 10:48:12 -03:00
menu.h Add File > Scripts menu 2018-09-05 13:35:13 -03:00
message_loop.cpp Fix crash using deferDelete() rebuilding the RecentListBox items 2018-12-19 15:32:33 -03:00
message_loop.h Fix header of files distributed under the terms of the MIT license 2014-03-29 20:08:05 -03:00
message_type.h Add code to check integrity of backups 2018-07-04 12:35:15 -03:00
message.cpp Remove list of recipients from ui::Message 2018-12-13 10:11:56 -03:00
message.h Remove unused iterator from ui::Message 2018-12-15 10:08:03 -03:00
mouse_buttons.h Add messages for X1/X2 mouse buttons 2017-04-13 17:58:42 -03:00
move_region.cpp Update to new gfx::Region API 2019-05-03 10:03:39 -03:00
move_region.h Add she::LockedSurface::scrollTo() so we can specialize it in the Skia port 2015-05-22 13:26:09 -03:00
overlay_manager.cpp Fix issue with overlays on macOS w/the new async painting (fix #1931) 2018-11-15 15:42:50 -03:00
overlay_manager.h Fix issue with overlays on macOS w/the new async painting (fix #1931) 2018-11-15 15:42:50 -03:00
overlay.cpp Fix issue with overlays on macOS w/the new async painting (fix #1931) 2018-11-15 15:42:50 -03:00
overlay.h Fix issue with overlays on macOS w/the new async painting (fix #1931) 2018-11-15 15:42:50 -03:00
paint_event.cpp Fix crosshair glitches on Editor when brush size popup is open 2017-12-05 13:31:34 -03:00
paint_event.h Fix crosshair glitches on Editor when brush size popup is open 2017-12-05 13:31:34 -03:00
panel.cpp Refactor several "getNoun()" getters to "noun()" 2015-12-04 14:39:04 -03:00
panel.h Rename PreferredSize -> SizeHint 2015-12-03 21:50:05 -03:00
pointer_type.h Rename she -> os 2018-08-09 12:58:43 -03:00
popup_window.cpp Support changing theme and UI scaling w/o restart (fix #471) 2017-08-15 10:39:06 -03:00
popup_window.h Support changing theme and UI scaling w/o restart (fix #471) 2017-08-15 10:39:06 -03:00
property.cpp Remove base::string (std::string is good enough for utf8 strings) 2014-04-20 19:53:27 -03:00
property.h Move SharedPtr to base namespace 2015-04-01 12:35:18 -03:00
README.md Update ui/README file 2018-11-28 10:34:35 -03:00
register_message.cpp Fix header of files distributed under the terms of the MIT license 2014-03-29 20:08:05 -03:00
register_message.h Fix header of files distributed under the terms of the MIT license 2014-03-29 20:08:05 -03:00
resize_event.cpp Fix header of files distributed under the terms of the MIT license 2014-03-29 20:08:05 -03:00
resize_event.h Refactor several "getNoun()" getters to "noun()" 2015-12-04 14:39:04 -03:00
save_layout_event.h Refactor several "getNoun()" getters to "noun()" 2015-12-04 14:39:04 -03:00
scale.h Fix several issues with UI Scaling > 100% (fix #1456) 2017-04-15 08:13:20 -03:00
scroll_bar.cpp Support changing theme and UI scaling w/o restart (fix #471) 2017-08-15 10:39:06 -03:00
scroll_bar.h Support changing theme and UI scaling w/o restart (fix #471) 2017-08-15 10:39:06 -03:00
scroll_helper.cpp Refactor several "getNoun()" getters to "noun()" 2015-12-04 14:39:04 -03:00
scroll_helper.h Add scroll bars to Timeline widget (fix #732) 2015-09-17 15:19:47 -03:00
scroll_region_event.h Generalize View::setViewScroll() to blit valid/scrollable region automatically 2016-01-05 16:37:52 -03:00
separator.cpp Add ui::IGNORE_MOUSE flag for static widgets 2018-12-13 10:48:12 -03:00
separator.h Move ui::Separator drawing code to new styles 2017-02-17 18:23:21 -03:00
size_hint_event.cpp Rename PreferredSize -> SizeHint 2015-12-03 21:50:05 -03:00
size_hint_event.h Refactor several "getNoun()" getters to "noun()" 2015-12-04 14:39:04 -03:00
slider.cpp Rename she -> os 2018-08-09 12:58:43 -03:00
slider.h Replace base::Signal/Observable* with obs::signal/observable 2016-09-13 15:02:00 -03:00
splitter.cpp Improve keyboard shortcuts list with resizable headers 2017-10-24 10:20:21 -03:00
splitter.h Improve keyboard shortcuts list with resizable headers 2017-10-24 10:20:21 -03:00
style.cpp Fix ColorButton font 2017-03-08 18:53:36 -03:00
style.h Rename she -> os 2018-08-09 12:58:43 -03:00
system.cpp Fix crash on Windows using Manager::enqueueMessage() from non-UI thread 2019-05-11 13:53:31 -03:00
system.h Rename she -> os 2018-08-09 12:58:43 -03:00
textbox.cpp Move drawTextBox() function inside Theme class 2017-02-08 15:00:07 -03:00
textbox.h Minor format change in ui/textbox.h 2015-12-10 16:44:48 -03:00
theme.cpp Improve ui::Theme::drawSlices() performance using os::Surface::drawSurfaceNine() 2019-04-11 22:54:47 -03:00
theme.h Rename she -> os 2018-08-09 12:58:43 -03:00
timer.cpp Fix bug counting two consecutive Timer::start() calls as two different timers 2018-12-22 23:56:35 -03:00
timer.h Wait for OS messages when is possible 2018-08-17 22:09:34 -03:00
tooltips.cpp Unify ToolTipManagers in MainWindow 2018-12-13 14:08:56 -03:00
tooltips.h Replace base::UniquePtr -> std::unique_ptr 2018-08-08 17:27:26 -03:00
ui.h Add option to disable native clipboard 2018-05-24 12:56:07 -03:00
view.cpp Fix invalid scroll on ui::View after changing required size of attached widget (regressiong introduced in b4eb7a0ccd) 2019-04-30 13:51:41 -03:00
view.h Fix invalid scroll on ui::View after changing required size of attached widget (regressiong introduced in b4eb7a0ccd) 2019-04-30 13:51:41 -03:00
viewport.cpp Add ui::IGNORE_MOUSE flag for static widgets 2018-12-13 10:48:12 -03:00
viewport.h Rename PreferredSize -> SizeHint 2015-12-03 21:50:05 -03:00
widget_type.h Move all code to draw windows to ui-lib w/new styles 2017-02-17 14:18:47 -03:00
widget.cpp Fix invalid scroll on ui::View after changing required size of attached widget (regressiong introduced in b4eb7a0ccd) 2019-04-30 13:51:41 -03:00
widget.h Add support to drag and drop recent file items 2018-12-21 12:22:25 -03:00
widgets_list.h Rename ui::Widget::getChildren() -> children() 2015-12-03 19:46:13 -03:00
window.cpp Remove list of recipients from ui::Message 2018-12-13 10:11:56 -03:00
window.h Move all code to draw windows to ui-lib w/new styles 2017-02-17 14:18:47 -03:00

Aseprite UI Library

Distributed under MIT license