Commit Graph

81 Commits

Author SHA1 Message Date
Roman Beránek
50b4f08e37 drop deprecated TBB components (#6590)
Quite some time ago, many of the TBB components were deprecated in favor
of their near-equivalents in the STL or, in the case of task_scheduler_init,
were broken up and reconstituted under a less ad-hoc logic. Every time a header
file marked deprecated gets included, a rather loud warning is emitted, which
leads to a complete TBB's domination over the stderr stream during build time,
making it harder to notice _legitimate_ warnings.

Instead of merely muting the output with TBB_SUPPRESS_DEPRECATED_MESSAGES,
perform a genuine migration away from the deprecated components with the added
benefit of achieving a source compatibility with oneTBB, the successor to TBB
which has dropped the deprecated API for good.

What got replaced for what?

| Deprecated				| Replacement					|
| ------------------------------------- | --------------------------------------------- |
| `tbb::atomic`				| `std::atomic`					|
| `tbb::mutex`				| `std::mutex`					|
| `tbb::mutex::scoped_lock`		| `std::scoped_lock<std::mutex>`		|
| `tbb::mutex::scoped_lock` (empty)	| `std::unique_lock<std::mutex>` (deferred)	|
| `tbb::task_scheduler_init`		| `tbb::global_control`				|
| `tbb::this_thread`			| `std::this_thread`				|

Signed-off-by: Roman Beranek <roman.beranek@prusa3d.com>
2021-06-23 11:48:48 +02:00
Vojtech Bubnik
0904346dbc Fixed compilation on OSX 2021-01-07 13:13:35 +01:00
Vojtech Bubnik
d4036067dc Fixing the SD card eject issue on OSX by pushing the call to
"diskutil eject" to a worker thread.
Hopefully fixes Ejecting an SD card is slow and locks UI #4844
2021-01-07 12:02:44 +01:00
David Kocik
e3584e096e Showing Eject button only after exporting is finished. Fix of #4212 2020-07-26 21:16:17 +02:00
bubnikv
4cd1243a79 Windows specific refactoring of Mouse3DController and RemovableDriveManager.
PrusaSlicer newly registers by Windows operating system for HID USB
plug / unplug notifications and for Volume attach / detach notifications,
and the background threads of the two respective services are waken up
on these Windows notifications.
The RemovableDriveManager also wakes up every 30 seconds to cope with
the drives ejected from Windows Explorer or from another application,
for example Cura, for which Windows OS does not send out notifications.
2020-03-13 14:19:14 +01:00
David Kocik
8219504137 info message - ejecting of sd/flash has failed 2020-03-12 12:57:52 +01:00
David Kocik
598b55ebe1 RemovableDriveManager: not calling update from status()
Update was called too often on main thread mostly from status() causing delays
2020-03-12 11:57:05 +01:00
bubnikv
37604c7144 Improvement in the RemovableDriveManager update function:
Don't call the update() if it is already running. Wait for the
other instance to finish instead.
2020-03-12 11:30:58 +01:00
bubnikv
ee7f4ebba8 Forced SD card / USB drive eject now sends out the event immediately
on Windows as well as on Unix platforms including OSX.
2020-03-09 11:47:20 +01:00
bubnikv
9552fc396e Reworked the eject on unix systems to wait for the return of the
system call to the command line utility and send out the unmount
wxWidgets event immediately.
Hopefully improves 2.2.0-RC Eject is very slow in Linux (#3795)
2020-03-09 10:56:51 +01:00
bubnikv
f2fce0f262 Refactoring of RemovableDriveManager:
1) On Windows and Linux, the device enumeration now runs at a background
   thread, while it ran on the UI thread on idle, which may have been
   blocking on some rare Windows setups, see GH #3515 #3733 #3746 #3766
2) On OSX, the device enumeration now relies on OS callback, no
   polling is required.
3) Refactored for cleaner interface.
2020-03-06 15:10:58 +01:00
David Kocik
c6e5df06e3 adding constantness & removing unused code 2020-01-22 17:15:09 +01:00
David Kocik
3ed5d63842 removable drive manager bug fixes 2020-01-21 13:29:39 +01:00
David Kocik
d8bca5b2ac callback for showing action buttons when device is connected/disconnected 2020-01-21 13:29:39 +01:00
David Kocik
d35df019b2 button for exporting gcode to harddrive 2020-01-21 13:29:39 +01:00
Lukas Matena
77548eeb99 An attempt to fix missing renaming from .gcode.tmp to .gcode
Added a missing include
2019-12-21 12:31:32 +01:00
David Kocik
a5314501e1 set_did_eject method 2019-12-18 10:08:17 +01:00
Slic3rPE
24e849ee2f macos device detection 2019-12-17 13:08:17 +01:00
David Kocik
0ed4b6bfe1 verification of save path 2019-12-16 17:15:27 +01:00
David Kocik
9be525196b correct beahvior when disconnecting device other way than button in slicer 2019-12-16 13:53:12 +01:00
David Kocik
8f32b9ca51 message box about succesful removal 2019-12-13 18:02:25 +01:00
David Kocik
496b125ee1 merge 2019-12-13 15:26:42 +01:00
David Kocik
1a5b9d86fc prev commit linux part 2019-12-13 15:12:20 +01:00
David Kocik
04adeabea3 check if last path is on rem drive 2019-12-13 15:07:35 +01:00
David Kocik
34239be561 refactoring 2019-12-13 15:05:01 +01:00
David Kocik
84ad62d7ac removable drives manager linux part 2019-12-13 14:54:25 +01:00
David Kocik
43c545853f removable drive manager - Windows part 2019-12-13 14:54:25 +01:00
David Kocik
43a6b22ea0 comments 2019-12-13 13:51:46 +01:00
David Kocik
180a5c5325 button show after write 2019-12-13 13:51:46 +01:00
Slic3rPE
3275870cae macos eject 2019-12-13 13:51:46 +01:00
David Kocik
c63351a19e eject button functionality 2019-12-13 13:51:46 +01:00
David Kocik
02c42d14a3 eject button functionality 2019-12-13 13:51:46 +01:00
Slic3rPE
9548d4413b macos better wrapper 2019-12-13 13:51:46 +01:00
Slic3rPE
57c9f1456f macos better wrapper 2019-12-13 13:51:46 +01:00
David Kocik
50a2c7ee8d macos better wrapper 2019-12-13 13:51:45 +01:00
Slic3rPE
69242b4394 macos list devices 2019-12-13 13:51:45 +01:00
Slic3rPE
56bb3ade34 macos implementation 2019-12-13 13:51:45 +01:00
David Kocik
d34609f528 macos mm files 2019-12-13 13:51:45 +01:00
David Kocik
fd07cbccfb osx device unmount callback - not sure if will build 2019-12-13 13:51:45 +01:00
David Kocik
5b29d727a9 windows registration for device notif(thru hidden app) - windows doesnt need update now 2019-12-13 13:51:45 +01:00
David Kocik
d47d976112 erase callbacks 2019-12-13 13:51:45 +01:00
David Kocik
536c7e0f3b callback only for used device 2019-12-13 13:51:45 +01:00
David Kocik
e10ae44932 last save path 2019-12-13 13:51:45 +01:00
David Kocik
f00a0f98c7 last path functions 2019-12-13 13:51:45 +01:00
David Kocik
7d569c1c91 refactoring 2019-12-13 13:51:45 +01:00
David Kocik
1850952dfb linux eject 2019-12-13 13:51:45 +01:00
David Kocik
393ec50d0b search for rd as root 2019-12-13 13:51:45 +01:00
David Kocik
9c3a84c0f7 refactoring 2019-12-13 13:51:45 +01:00
David Kocik
77d100e901 add_callback function 2019-12-13 13:51:45 +01:00
David Kocik
994b2d16eb rdm update every 2 seconds 2019-12-13 13:51:45 +01:00