#
85b82f85 |
|
19-Jul-2022 |
Dale Cieslak <dcieslak@yahoo.com> |
BFont: allow loading of user fonts from disk or memory This patch adds an API call to BFont, called LoadFont, that takes a string path to a font file. The user fonts are managed via a new class called AppFontManager that inherits from the base class FontManagerBase but adds the methods to add and remove user fonts from disk or memory. There is also a new method called UnloadFont to remove a user font, but on exit of an app all user fonts should be automatically cleaned up. Global/system fonts are managed by the GlobalFontManager, which is a new class that also inherits from the base class FontManagerBase, replacing the old "FontManager" class. A maximum of 128 user fonts may be loaded, and memory fonts may not exceed 20MB. There's also an overloaded version of LoadFont that accepts an area_id and loads the font from memory. A size and offset may optionally be provided to allow for an area that contains more than just a font. Change-Id: I6add42bdf0c0cefc0e2e2a4984fd848c3e7269e5 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4790 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
a04b2f4c |
|
27-Sep-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
Launch app_server in user context. This way, we get the user's environment variables, and so should input_server, which is started by app_server. This should, after 6 years, fix #12534. We may need to revisit this when/if we add multiuser support, but that is a problem for another day. Change-Id: I04698306bc68a585acd232e9f9d29c50bc170a1f Reviewed-on: https://review.haiku-os.org/c/haiku/+/4506 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
6fd22743 |
|
26-Aug-2020 |
X512 <danger_mail@list.ru> |
app_server pointer/ownership cleanup: trivial changes Split apart the work done in https://review.haiku-os.org/c/haiku/+/2695 in smaller, easier to review parts. This commit contains self-contained/local changes that are unlikely to cause problems. Change-Id: Idae27ca440791423e3d090bcfe33f4cc83bbea3d Reviewed-on: https://review.haiku-os.org/c/haiku/+/3174 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
ca3e2eaa |
|
21-May-2020 |
X512 <danger_mail@list.ru> |
app_server: don't use BLaunchRoster for libbe_test It cause starting launch_daemon for every test_app_server run. Change-Id: I061ee1e1a7bb18f0e471a03885fbf1168393ba5b Reviewed-on: https://review.haiku-os.org/c/haiku/+/2831 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
d5f01670 |
|
26-Aug-2016 |
Axel Dörfler <axeld@pinc-software.de> |
app_server: Also log the incorrect version.
|
#
f744935b |
|
04-Aug-2016 |
Axel Dörfler <axeld@pinc-software.de> |
app_server: Fixed broken ServerApp allocation. * Did not use std::nothrow, but exceptions were not catched. * MessageLooper::Run() now returns a status code. * There are a lot more cases of a new without nothrow that need to be investigated.
|
#
e3d73948 |
|
15-Aug-2015 |
Julian Harnath <julian.harnath@rwth-aachen.de> |
app_server: fix test-app_server for launch_daemon changes * Make test-app_server work again in a launch_daemon environment * test_registrar gets a separate signature and port name again so the host system can distinguish it from the system registrar * AppServer is normally a BServer now, however, there can't be two BApplications in one team. A class TestServerLoopAdapter is added, which becomes the base class of AppServer instead of BServer when compiling for libbe_test. It's an adapter class which looks towards AppServer as it if was a BServer, but internally it is derived from MessageLooper (like the old AppServer before the transition to BServer). This way, AppServer can stay a BServer in normal builds and it also avoids having to use too many #ifdefs to distinguish the two versions.
|
#
c086a183 |
|
15-Jun-2015 |
Axel Dörfler <axeld@pinc-software.de> |
launch_daemon: Improved target support. * You can now put jobs/services into a target. * Instead of having Login started as part of the normal boot process, it's now in the "login" target. * The app_server now launches the login target when a login becomes available (ie. during startup, but that could be improved later on).
|
#
592ffe64 |
|
15-Apr-2015 |
Axel Dörfler <axeld@pinc-software.de> |
The app_server is now a regular BServer.
|
#
3fed1a15 |
|
05-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Get app_server working on x86_64. With this commit, app_server now compiles and runs at boot! Nothing particularly interesting happens, just the blue background and a mouse pointer. Remote backends are broken and not compiled in, see #8834. Note that it won't be possible to build this quite yet, need to get the FreeType package uploaded.
|
#
b6284c7f |
|
29-Sep-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Moved the SIMD code from AppServer.cpp to Painter.cpp where it is actually needed. It might be best to put it into its own file, though. * This is required in order to let our test environment work with the stricter runtime_loader we have now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42787 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
da6b5d6d |
|
15-Nov-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Cleanup, no functional change. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39438 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
15fe75b9 |
|
24-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added a protocol version field to AS_GET_DESKTOP. This should be bumped after incompatible releases, and makes sure clients using the old libbe.so will be rejected. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34210 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
68667bf4 |
|
04-Oct-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Adding a remote desktop interface that operates on app_server drawing primitives by providing a RemoteDrawingEngine and a RemoteHWInterface. Not really optimized yet, still a bit WIP. * Adding corresponding infrastructure like a blocking ring buffer and network sender/receiver that are attached to the buffers to feed/drain them as well as a RemoteMessage helper that provides a message based interface. * Adding target screen concept to request an app to be run on a specific screen. It's controlled by the TARGET_SCREEN environment variable which is added on the app side and sent to the app_server. * Right now only remote target screens are supported, in which case a new RemoteHWInterface is created that tries to connect to the given host:port. * Fix shape bounds when drawing, they need to be translated by the pen position and converted to screen like the points as well. Wasn't visible though as the bounds weren't used in the normal DrawingEngine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33417 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
30d716e0 |
|
19-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32519 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e0826ec8 |
|
24-Jul-2009 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
fixed gcc 4 warning git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31739 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c97f4931 |
|
22-Jun-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* This should fix the app_server build under other architectures than x86. * Fixed wrong operator precedence case in Painter::SetFont(). * Fixed dozens of style violations. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31177 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
92772bbd |
|
21-Jun-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Christian Packmann: * Implemented a CPU feature detection function in AppServer.cpp. The results are put into the global variable gAppServerSIMDFlags. * Implemented an SIMD accelerated version of the bilinear bitmap scaling code that is the backend of BView::DrawBitmap(..., uint32 options) used by the MediaPlayer to smoothly upscale movies when no video overlay is available. The speed up is very noticable and a Core 2 Duo @ 1.8 GHz can play at 1920x1200 now without breaking a sweat. There is currently one SIMD version implemented which uses MMX and plain SSE. Very cool! Thanks a lot! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31165 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
092c62f0 |
|
12-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Creating a Desktop can fail, in which case the app_server should not return B_OK, and an invalid desktop message port... * Desktop::Init() now checks if VirtualScreen::fHWInterface is valid, and exits if not. This can happen if you don't have a graphics driver, and turn on on-screen debug mode in the boot loader (such that you already see the messages from the boot loader). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24371 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
09a4122e |
|
22-Oct-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Moved initialization of the system color map from AppServer to Desktop git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22661 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a632458d |
|
29-Aug-2007 |
Axel Dörfler <axeld@pinc-software.de> |
The wonders of signals: * Since the app_server launched the input_server, it would also get notified when the latter died via a signal - but LinkReceiver could return B_INTERRUPTED in that case (it didn't check the return value of port_buffer_size()) which the app_server misinterpreted and quit itself... this fixes the hanging part of bug #1298. * But the input_server still wasn't restarted, because the Registrar had it still listed as being running. Now, the Registrar checks not just periodically for died teams, it will also check for it when a new application registers itself. This fixes the rest of bug #1298. * Removed the old (disabled) R5 style input_server launch mechanism from the app_server. * MessageLooper now prints a bit more information when a port is supposed to have been deleted. * The default implementation of MessageLooper::_GetLooperName() is now returning the name of the semaphore of its BLocker instead of "unnamed looper". git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22115 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b5a8a89b |
|
28-Dec-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed the debugger() call when the input_server couldn't be started - it's not a critical error, and definitely no reason to take the server and all GUI apps down. You could also still log in remotely. * Now opens and uses the syslog in some rare cases (should become the primary error channel over time). * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19646 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5288f0a4 |
|
28-Nov-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* use exit() instead of exit_thread(), makes profiling even possible with the built-in GCC profiling (thanks Axel) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19387 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
23ae77aa |
|
26-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed ColorSet, it's no longer needed or used. * The Decorator are temporarily using ui_color() - this needs to be changed to use the DesktopSettings (when the decorator stuff gets refactored); right now, the colors are fixed. * Added B_WINDOW_TEXT_COLOR, B_WINDOW_INACTIVE_TAB_COLOR, and B_WINDOW_INACTIVE_TEXT_COLOR to the UI colors, B_WINDOW_TAB_COLOR is no longer deprecated. Note, however, that not every decorator may use these colors. * Removed unused and wrong (ie. hard-coded paths) stuff from ServerConfig.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17236 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
583b05be |
|
25-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Errors in Desktop::Init() and Desktop::Run() are now taken into account correctly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17233 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
49fe9677 |
|
14-Mar-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed ColorUtils.cc from libbe.so - I can't think of a reason why these should be public (they don't match any basic Be naming style anyway :-). * Put the code that's used by the app_server where it's needed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16804 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2d8561e4 |
|
26-Feb-2006 |
Stephan Aßmus <superstippi@gmx.de> |
make it easier to get a stack crawl in case the server crashes after quitting in the test enviroment (code by axeld) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16520 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ea966ee |
|
09-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Some cleanup, removed some remaining RootLayer references. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15453 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e83820ed |
|
07-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Merged app_server_new_clipping branch changes r15290 to 15418 back into trunk. Also fixed Jamfile for the test environment. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15419 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4b813bf2 |
|
24-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed WinBorder to WindowLayer, and OffscreenWinBorder to OffscreenWindowLayer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15128 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4ceb1e51 |
|
20-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* reverted Adi's premature changes to BWindow and restored _DetermineTarget() and task_looper() again. * removed BMessenger::fPreferred - whenever you had to specify "usePreferred" separately, you don't have to do that anymore - use B_PREFERRED_TOKEN instead. * fixed BTokenSpace::GetToken() semantics: it will no longer touch the "object" argument in case of failure. * Introduced a BWindow::_DistributeMessage() that will be part of the event dispatcher counterpart to the app_server (the other will be _DetermineTarget()). * Made it easier to use Michael's Message4 implementation: just add the following line to your UserBuildConfig: AppendToConfigVar DEFINES : HAIKU_TOP src : USING_MESSAGE4 : global ; * Introduced ServerWindow::HandlerMessenger() and FocusMessenger() - the first will target the client handler, while the other will target the preferred handler of the client looper (usually the view having focus). * Fixed dano message unflattening in the Message4 code. * Changed BMessage::PrintToStream() to no longer use macros in the Message4 implementation. * I hope that's all - it's a huge change, but it's all connected. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15046 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f7598223 |
|
18-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* the new input event dispatcher is now actually used, although it doesn't distribute any messages to the clients yet. * removed the working thread from RootLayer - for now, its event handlers are still called using input filters in the new event dispatcher, though (to get things started). * ServerApp is now using a BMessenger to identify its client, and no longer stores the port/token separately. * the input_server handshake is a bit simpler now, as it can now just reply to the app_server message, removed unused code from ServerProtocol.h * calmed down the MultiLocker (it always printed thread statistics on startup, because it's compiled in debug mode). * removed the cursor thread stuff from AppServer.cpp * the new event dispatcher now uses a cursor thread when supported (only in native mode, not in the test environment), although it improves cursor movement under Qemu, the effect is not as good as expected - this might need some more investigations (might just be a thread priority problem). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15012 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6c17d025 |
|
15-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* Introduced a new handshake between input_server and app_server, and some temporary handling code in the app_server. * RootLayer no longer creates the input_server messaging port - this is now the responsibility of the input_server. * Moved AS_CREATE_[OFFSCREEN_]WINDOW from ServerApp::_MessageLooper() to _DispatchMessage(). * The RootLayer thread is now started as soon as the input_server is there. * removed or disabled any input_server stuff in the AppServer class. * removed old message commmands to the app_server. * Removed the R5_CURSOR_COMM and HAIKU_APPSERVER_COMM definitions: the input_server is now automatically built correctly depending on the target. * InputServer::EventLoop() plays now safe and checks for error conditions. * InputServer::EnqueueDeviceMessage() seems to leak memory, added TODO about this. * InputServer event loop messaging uses ports for inner-app communication - why? * The InputServer event loop thread is no longer killed on exit, it just quits when its port is gone. * Minor cleanup in input_server. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14949 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
be05d56c |
|
14-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* the app_server now uses a global token space - this should later be changed to have different token spaces depending on the scope of its objects. * removed TokenHandler - we're now using BTokenSpace instead. * removed unused IPoint.cpp - if we ever need it again, it can still easily be resurrected from the dead. * some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14925 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e37155c6 |
|
07-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* The font list is now cached client-side. The app_server is only queried for updates. * Optimized retrieving the font list from the server. * This greatly simplifies the app_server communication for getting the font list as well - there are now only 2 commands instead of 6. * Moved extra font flags creation from ServerApp to FontStyle::Flags(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14751 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
86ad4b9c |
|
06-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
First steps into on-demand font scanning. When you've installed lots of fonts, this will speed up launching the app_server considerably (once it's done). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14720 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f38c001e |
|
04-Nov-2005 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Assigned names to "some BLocker"s to aid debugging. Small cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14703 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1be1c7cc |
|
04-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed (again) the crash that happened when you quit the app_server in the test environment. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14681 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
05bd1efe |
|
03-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* the FontManager is now a looper (but doesn't do anything useful yet). * moved the system default font functionality into the DesktopSettings class. * ServerFont::SetStyle() is now a public method. * Improved font fallback routines: they will never end up without a font if there is at least one font installed. * fixed some minor bugs in the DecorManager. * Decorator now get a DesktopSettings object passed - dunno if that's a good idea (since we'll have to open the DesktopSettings header), but it works for now (and something like this is probably needed anyway). * a clean ServerFont is now set to the system default font - and not to the (user chosen) desktop default font anymore (since the font manager doesn't know about that one). * Improved font directory scanning in the font manager a bit, it's now using find_directory() instead of hard-coded paths. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14666 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bdd34c02 |
|
02-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed the FontServer class to FontManager. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14642 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
382049ca |
|
02-Nov-2005 |
Stephan Aßmus <superstippi@gmx.de> |
fix build of server for test environment git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14640 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b4f34cfb |
|
01-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* style and family IDs are no longer just the index in their parent's lists (as they can disappear and IDs should stay persistent at least as long as the system runs). * destroying a FontStyle discards its FT_Face again. * the font style and family names are now truncated to the appropriate length, so that they can always be used via the Be API. * (char *) == (char *) hardly compares the string (but was probably introduced by me when I stopped FontFamily from accessing FontStyle privates * removed FontServer::SaveList() - made no particular sense to me. * removed superfluous "inline" keyword in the FontStyle definition. * more cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14619 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
36deda69 |
|
31-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Got rid of sDesktop. Moved AS_ACTIVATE_APP over to Desktop. _CursorThread() is currently dysfunctional (but not enabled anyway). Minor cleanup (Desktop::WindowList() is now a BObjectList). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14599 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
959a5a68 |
|
31-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed global gDesktop variable - there is now an sDesktop variable in AppServer.cpp, but that will go away, too. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14590 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ce2fbc61 |
|
30-Oct-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Fixed a mistake I did a couple hours ago. Thanks Axel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14584 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc0c3352 |
|
30-Oct-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Added support for BRoster::ActivateApp(). Code not tested yet, but it should work. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14579 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
338b8dc3 |
|
29-Oct-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged changes from branch build_system_redesign at revision 14573. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ddebe7e |
|
21-Aug-2005 |
Michael Lotz <mmlr@mlotz.ch> |
Moved the CursorManager over to the Desktop too. Maybe the CursorManager should be used to set the cursors directly instead of using fDesktop->GetCursorManager.FindCursor() and then fDesktop->GetHWInterface()->SetCursor() in ServerApp.cpp. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14033 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d863d4bf |
|
12-Aug-2005 |
DarkWyrm <darkwyrm@gmail.com> |
Made scanning of all font folders a compile-time option Moved the scanning of individual font folders to FontServer Implemented server-side code for update_font_families Removed ClientFontList from the build git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13938 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
15ae8872 |
|
28-Jul-2005 |
Stephan Aßmus <superstippi@gmx.de> |
hacking session with Ingo part2: in the R5 test environment, the app_server links no longer against libbe.so, the classes which need it, ViewHWInterface + friends, are extracted into their own library, but we need a bridge library as well for HWInterface + friends. The AppServer is consequently no BApplication in the test environment anymore, the BApplication that is needed to display the frame buffer window is handled in ViewHWInterface. No functional change, except that our BRegion implementation is now used in the test environment, and who knows what else... luckily we are so extremely binary compatible, that passing a Haiku BRegion to the R5 app_server actually works. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13848 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
35a71b19 |
|
25-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The app_server now inherits from MessageLooper as well. Removed unused stuff. The app_server now deletes itself when done (and therefore must not be allocated on the stack anymore). The cursor handling should be moved over to the desktop as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13825 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
770c05d6 |
|
25-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The Desktop class now gets its own message processing loop: moved application creation/deletion (and management) over to that class. ServerApp now gets a desktop pointer, and no longer uses gDesktop. Converted private MessageLooper::_MessagePort() to a public method MessagePort() so that the looper can be addressed from elsewhere without using PostMessage(). Added a real basic message loop to MessageLooper::_MessageLoop(). BApplication now only asks the app_server to get its desktop object which should now be used for everything that's not in the realm of the application. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13824 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
18b5424c |
|
24-Jul-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Implemented BRoster::ActivateApp(). * Added the respective case statement in AppServer::DispatchMessage(). The code that actually activates the app is still missing. * Removed the remnants of the old way of notifying the registrar about what app got activated (the activated client window did that). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13820 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
be85e142 |
|
24-Jul-2005 |
Stephan Aßmus <superstippi@gmx.de> |
initializing the system palette before creating the desktop and driver fixes the bug that the desktop is first shown in the wrong colors on 8 bit screens git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13817 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5f2edc0f |
|
24-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The Desktop class now inherits from MessageLooper as well, the AppServer class runs it, too. No real message processing is done yet, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13816 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
89ab121e |
|
23-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Factored a MessageLooper class out of ServerWindow and ServerApp. Could still be improved a bit (Quit() and _MessageLooper() are empty right now). Removed ServerApp::PingTarget(). Hopefully cleared some confusion about ServerApp::fClientLooperPort and fClientToken (previously fHandlerToken), even if it's currently unused. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13807 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fd5bec1e |
|
14-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
First baby step to a restructured app_server: - introduced new ScreenManager and VirtualScreen classes - removed screen handling from RootLayer - removed multiple screen/root layer stuff from Desktop, it's now using a VirtualScreen object instead git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13686 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3f319b33 |
|
10-Jul-2005 |
Michael Lotz <mmlr@mlotz.ch> |
Some cleanup, some removed typos, some unification, some fixes and some added todos. Most of it related to client-server communication. Apps that rely on BFont stuff should work now (StyledEdit, Fonts, Keymap, Menu, ...). Or should not hang/quit at startup at least. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13625 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c9299b3c |
|
05-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Instead of killing the ServerApps the hard way, the AppServer now quits them if they didn't listen to B_QUIT_REQUESTED. This works much better as how it was done before. Now uses exit() instead of exit_thread() which makes sure no thread survives. Note, there still is a race condition in case an application quits immediately before shutting down the server - in that case, it doesn't participate in the fShutdownSemaphore stuff, and therefore, the app_server could quit it too early. Maybe I'll fix that one day, as well :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13481 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b1e04bcb |
|
04-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The app_server now also quits fast in case there are no apps to quit... :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13432 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3870c9f1 |
|
01-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Improved quit mechanism (for the last time): if an application had open windows that wouldn't quit on demand, the app_server would have gotten the kShutdownServer message anyway already (as the last app was quit). Since that one removed things like gDesktop/gBitmapManager, it liked crashing. Now, there is a semaphore that will be send to each app on quit. Only when this semaphore can be acquired, the shutdown message will be sent. Removed unused semaphores (decorator, active app). Replaced fAppListLock with a BLocker (just calling acquire_sem() without error checking is very unsafe in userland, and should never be done). BTW the bug was triggered by broken menu code that only sometimes really quit the window; it leaves a whole lot of zombies around - Stefano, any quick idea? :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13384 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b5436616 |
|
23-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed some style related functions and other oddities in FontServer. Also applied our style guide on that class. Renamed some public globals to match our style guide. Made BitmapManager inherit from BLocker instead of duplicating its functionality (incorrectly, did not check for B_INTERRUPTED) locally. Some more cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13259 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3dcb3b07 |
|
23-Jun-2005 |
Stephan Aßmus <superstippi@gmx.de> |
Added some root layer locking in ServerWindow.cpp when accessing the layer tree. Moved HWInterface management out of DisplayDriverPainter and into Desktop. Removed all the directly hardware related functions from DisplayDriver API. They just called the same HWInterface functions. Now DisplayDriver is much cleaner and ready for being attached to a yet to be written BitmapHWInterface. Clean up of the display mode stuff in Screen and the View-/AccelerantHWInterface. Frequency is now regarded on Haiku. AccelerantHWInterface::GetModeList now works before SetMode has been called. Added MultiLocker from the sample code. HWInterface uses it now in preparation to being used from multiple instances of DisplayDriver. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13252 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fcb006dc |
|
23-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Rewrote how the app_server and ServerApp's quit. As a side effect, the server can now quit instantly. AppServer must no longer call ServerApp's destructor once it's running - it now has to call Quit() in this case. The ServerApp is now destructed in its own thread. Some cleanup (like renaming ServerApp::MonitorThreadID() to Thread()). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13238 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
550d6a53 |
|
17-Jun-2005 |
DarkWyrm <darkwyrm@gmail.com> |
Cleanup for decorator management code Updated a couple headers Moved all decorator code to ServerApp where it belongs Modified AppServer::Broadcast to allow ServerApps send messages to all apps without having to have a global AppServer instance git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13204 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
587e0937 |
|
16-Jun-2005 |
Jérôme Duval <korli@users.berlios.de> |
reworked registrar launch wait, avoids snoozing git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13193 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e67e7dd9 |
|
15-Jun-2005 |
DarkWyrm <darkwyrm@gmail.com> |
Some cleanups to ColorSet in anticipation of future cleanups for Appearance app git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13156 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dd10337f |
|
14-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed BAppServerLink to AppServerLink, BPortLink to PortLink, LinkMsgReader to LinkReceiver, LinkMsgSender to LinkSender, and put everything into the BPrivate namespace. Made AppServerLink a cheap object - it will use the applications receiver/sender and not create its own buffers. Fixed broken communication stuff here and there (mostly Font.cpp). Put the newly introduced set|get_system_colors() into the BPrivate namespace - please don't introduce private functions into the public namespace!!! Also fixed their broken communication use, as Darkwyrm obviously forgot about it again: the sequence Flush(); GetNextMessage() without error checking is purely wrong and can make the app hang and/or crash! :-) Other minor cleanup. The input_server used some test mode with the haiku build target which is probably wrong. Hopefully I did not forget anything this time. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13128 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
57bbc539 |
|
14-Jun-2005 |
DarkWyrm <darkwyrm@gmail.com> |
Moved some system colors code to be monitored by a client's ServerApp git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13123 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ba7d6f3 |
|
08-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added AS_{GET|SET}_DESKTOP_COLOR. (Incorrectly) implemented AS_GET_DESKTOP_COLOR - works for now. Minor cleanup. Is AS_SET_SCREEN_MODE used at all? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13010 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bd28b3c7 |
|
07-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
BAppServerLink is now using BApplication::fServerTo/From for its messaging. Added LinkMsgReader::NeedsReply() method. Completely redone ServerApp messaging: no more "replyport" from BAppServerLink; instead, the registered client reply port is used. Fixed some more weak messaging stuff. ServerApp now recognizes if an unknown message needs a reply, and sends it - for example, the "Screen" preferences app no longer hangs, but crashes on start :) Made LinkMsgReader::Read() virtual again, since it's needed by RAMLinkMsgReader.cpp. Renamed BPortLink::GetNextReply() to GetNextMessage(). Some more cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13004 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0aa69a9c |
|
07-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed the crashing bug when quitting the app_server. The display driver is now owned by the Screen object. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13002 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
75936a02 |
|
07-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
BPortLink now has a FlushWithReply() method itself. BPortLink::AttachString() now accepts a length argument, and will no longer send a terminating null byte; LinkMsgReader::ReadString(), however, will make sure the string read is null terminated. Changed client communication code to use FlushWithReply() instead of Flush() and GetNextReply() - there were many bugs and shortcomings in the code, I hope I've fixed them all. Converted ClientFontList.cpp to our coding style (but not completely, the class members are missing). Some more cleanup - I hope Adi will adopt our coding style one day! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12998 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7475dcdf |
|
07-Jun-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Added an app server command to retrieve the color map. Made some adjustments to SystemPalette.cpp, implemented support for it in BPrivateScreen. Moved get_scs() a bit down to avoid a deadlock. Note that getting the colormap doesn't work due to port capacity limit (?) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12996 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5afe056c |
|
01-Jun-2005 |
Jérôme Duval <korli@users.berlios.de> |
added a snooze, input_server is well started by app_server this way git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12924 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6390df8e |
|
28-May-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Made app_server a static, renamed desktop to gDesktop as it's a global, RootLayer now uses its own fDesktop internal member instead of the global one. Fixed a typo in some commented code (thanks Axel) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12864 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7f2831b5 |
|
28-May-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Removed a couple of friendships, commented/removed unused stuff git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12863 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2724858b |
|
27-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added global app_server port, so that other parts of the server don't have to search for it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12859 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5e9441be |
|
27-May-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Removed leftovers git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12857 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d7c08b7d |
|
26-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Tried to make the ServerApp aware when a client dies: the main communication port is now transferred to the client, so that it goes away automatically. Unfortunately, this doesn't seem to work. This code is truly a big mess :-/ git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12846 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
151ebb14 |
|
14-May-2005 |
Stephan Aßmus <superstippi@gmx.de> |
just a little cleanup, made PNG screenshots work git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12665 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
04efb239 |
|
07-May-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
AppServer is no longer a friend of ServerApp. Small cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12586 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
78f09a05 |
|
06-May-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
app_server doesn't hang anymore when an application exits in an unclean way. Got rid of the kill_thread in ServerApp's destructor. Small refactoring. Added a TODO item. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12578 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
55814cfd |
|
02-May-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Added a TODO item with a bad bug report git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12524 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ecbc8ec9 |
|
30-Apr-2005 |
Jérôme Duval <korli@users.berlios.de> |
reversed cursor.x and cursor.y cursor semaphore initial count is now zero git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12520 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6e927d6e |
|
30-Apr-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
BScreens methods didn't work for a number of reasons: fixed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12517 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9c06e46d |
|
29-Apr-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
fDriver wasn't apparently used anymore. Thanks Jerome. BTW we should remove it if it's useless git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12514 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4dbe8b9d |
|
29-Apr-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Server-side code for BScreen::GetMode() (actually tweaked an old implementation) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12509 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e9da11d0 |
|
28-Apr-2005 |
Jérôme Duval <korli@users.berlios.de> |
added inputserver test mode for ViewHWInterface we write view events to a port so that the ViewInputDevice gets them and have them processed by input_server, and then app_server git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12489 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b8d27287 |
|
19-Apr-2005 |
Jérôme Duval <korli@users.berlios.de> |
Added support for cursor position handling from input_server LaunchInputServer now waits for _roster_thread_ to be running Not tested/not enabled :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12445 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
597c548c |
|
16-Apr-2005 |
Michael Lotz <mmlr@mlotz.ch> |
Moved the port creation for app_server - input_server communication out of the DisplayDrivers and into the AppServer constructor. This may later needs to be moved into RootLayer if we want multiple user support. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12426 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bd841e3c |
|
13-Apr-2005 |
Stephan Aßmus <superstippi@gmx.de> |
fall back fonts are actually used now if you didn't install the Vera fonts on R5 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12387 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6697162d |
|
12-Apr-2005 |
Stephan Aßmus <superstippi@gmx.de> |
just a slightly more robust default font handling... should now work on Haiku even if you didn't install fonts from BeOS. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12347 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9775bf33 |
|
29-Mar-2005 |
Michael Lotz <mmlr@mlotz.ch> |
TEST_MODE is now disabled on Haiku too. So app_server is not a BApplication anymore and doesn't depend on itself. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12131 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b2b5acff |
|
29-Mar-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Made DISPLAYDRIVER a true compile time option. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12119 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c98108ee |
|
25-Mar-2005 |
Michael Lotz <mmlr@mlotz.ch> |
The monitoring thread should be called "picasso" (lower case) as in BeOS R5. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12005 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
33bbe223 |
|
24-Mar-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Moved app_server files to app/. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11972 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c086a1834bb7041ca9f64abfee7a3b3bb9f06aa9 |
|
15-Jun-2015 |
Axel Dörfler <axeld@pinc-software.de> |
launch_daemon: Improved target support. * You can now put jobs/services into a target. * Instead of having Login started as part of the normal boot process, it's now in the "login" target. * The app_server now launches the login target when a login becomes available (ie. during startup, but that could be improved later on).
|
#
592ffe646134dd48c661571a64a86598f3ecf29e |
|
15-Apr-2015 |
Axel Dörfler <axeld@pinc-software.de> |
The app_server is now a regular BServer.
|
#
3fed1a15f58e8d6fe6b492f3b94bb3625ffeddbd |
|
05-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Get app_server working on x86_64. With this commit, app_server now compiles and runs at boot! Nothing particularly interesting happens, just the blue background and a mouse pointer. Remote backends are broken and not compiled in, see #8834. Note that it won't be possible to build this quite yet, need to get the FreeType package uploaded.
|
#
b6284c7f8a0b9de4ae9422fde052bcca21c6b1bb |
|
29-Sep-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Moved the SIMD code from AppServer.cpp to Painter.cpp where it is actually needed. It might be best to put it into its own file, though. * This is required in order to let our test environment work with the stricter runtime_loader we have now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42787 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
da6b5d6d3f8b4528cc6d67c0309df9da25527788 |
|
15-Nov-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Cleanup, no functional change. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39438 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
15fe75b9a0e16762374a6224bb42a121c35c8207 |
|
24-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added a protocol version field to AS_GET_DESKTOP. This should be bumped after incompatible releases, and makes sure clients using the old libbe.so will be rejected. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34210 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
68667bf48a9e29a2d142cb3308b606d80bee3c2d |
|
04-Oct-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Adding a remote desktop interface that operates on app_server drawing primitives by providing a RemoteDrawingEngine and a RemoteHWInterface. Not really optimized yet, still a bit WIP. * Adding corresponding infrastructure like a blocking ring buffer and network sender/receiver that are attached to the buffers to feed/drain them as well as a RemoteMessage helper that provides a message based interface. * Adding target screen concept to request an app to be run on a specific screen. It's controlled by the TARGET_SCREEN environment variable which is added on the app side and sent to the app_server. * Right now only remote target screens are supported, in which case a new RemoteHWInterface is created that tries to connect to the given host:port. * Fix shape bounds when drawing, they need to be translated by the pen position and converted to screen like the points as well. Wasn't visible though as the bounds weren't used in the normal DrawingEngine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33417 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
30d716e08183239004853cabf8000e87cf34fc9e |
|
19-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32519 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e0826ec8d8d9f785eea4fb3a34046ab3e37369d9 |
|
24-Jul-2009 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
fixed gcc 4 warning git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31739 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c97f4931c8dc1c9823b310e23beaeaeaca9939fc |
|
22-Jun-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* This should fix the app_server build under other architectures than x86. * Fixed wrong operator precedence case in Painter::SetFont(). * Fixed dozens of style violations. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31177 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
92772bbdddc405ff6cdd1d495db71584684082ef |
|
21-Jun-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Christian Packmann: * Implemented a CPU feature detection function in AppServer.cpp. The results are put into the global variable gAppServerSIMDFlags. * Implemented an SIMD accelerated version of the bilinear bitmap scaling code that is the backend of BView::DrawBitmap(..., uint32 options) used by the MediaPlayer to smoothly upscale movies when no video overlay is available. The speed up is very noticable and a Core 2 Duo @ 1.8 GHz can play at 1920x1200 now without breaking a sweat. There is currently one SIMD version implemented which uses MMX and plain SSE. Very cool! Thanks a lot! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31165 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
092c62f0f114993910a6ba267b9670e0c56263e1 |
|
12-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Creating a Desktop can fail, in which case the app_server should not return B_OK, and an invalid desktop message port... * Desktop::Init() now checks if VirtualScreen::fHWInterface is valid, and exits if not. This can happen if you don't have a graphics driver, and turn on on-screen debug mode in the boot loader (such that you already see the messages from the boot loader). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24371 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
09a4122e4c67238112a8b3930a84638861d2a342 |
|
22-Oct-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Moved initialization of the system color map from AppServer to Desktop git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22661 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a632458d8eb985eac127d127ac8e00d08e301d92 |
|
29-Aug-2007 |
Axel Dörfler <axeld@pinc-software.de> |
The wonders of signals: * Since the app_server launched the input_server, it would also get notified when the latter died via a signal - but LinkReceiver could return B_INTERRUPTED in that case (it didn't check the return value of port_buffer_size()) which the app_server misinterpreted and quit itself... this fixes the hanging part of bug #1298. * But the input_server still wasn't restarted, because the Registrar had it still listed as being running. Now, the Registrar checks not just periodically for died teams, it will also check for it when a new application registers itself. This fixes the rest of bug #1298. * Removed the old (disabled) R5 style input_server launch mechanism from the app_server. * MessageLooper now prints a bit more information when a port is supposed to have been deleted. * The default implementation of MessageLooper::_GetLooperName() is now returning the name of the semaphore of its BLocker instead of "unnamed looper". git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22115 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b5a8a89b5d54b896489d4d5bcab63c04ff07a09b |
|
28-Dec-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed the debugger() call when the input_server couldn't be started - it's not a critical error, and definitely no reason to take the server and all GUI apps down. You could also still log in remotely. * Now opens and uses the syslog in some rare cases (should become the primary error channel over time). * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19646 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5288f0a48d8cb42c5885a3206b271ad7814160d3 |
|
28-Nov-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* use exit() instead of exit_thread(), makes profiling even possible with the built-in GCC profiling (thanks Axel) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19387 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
23ae77aa566566465e1fca7aedbf0f1139acca1e |
|
26-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed ColorSet, it's no longer needed or used. * The Decorator are temporarily using ui_color() - this needs to be changed to use the DesktopSettings (when the decorator stuff gets refactored); right now, the colors are fixed. * Added B_WINDOW_TEXT_COLOR, B_WINDOW_INACTIVE_TAB_COLOR, and B_WINDOW_INACTIVE_TEXT_COLOR to the UI colors, B_WINDOW_TAB_COLOR is no longer deprecated. Note, however, that not every decorator may use these colors. * Removed unused and wrong (ie. hard-coded paths) stuff from ServerConfig.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17236 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
583b05be463e43426e7fba968bd21b4c6d494da8 |
|
25-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Errors in Desktop::Init() and Desktop::Run() are now taken into account correctly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17233 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
49fe96777baaee4401de21e8a6bb8a363aab3dab |
|
14-Mar-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed ColorUtils.cc from libbe.so - I can't think of a reason why these should be public (they don't match any basic Be naming style anyway :-). * Put the code that's used by the app_server where it's needed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16804 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2d8561e4c6c83711187c960fad455bf89c4e3880 |
|
26-Feb-2006 |
Stephan Aßmus <superstippi@gmx.de> |
make it easier to get a stack crawl in case the server crashes after quitting in the test enviroment (code by axeld) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16520 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ea966eee389560360712bc5f061884455cd5d8b |
|
09-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Some cleanup, removed some remaining RootLayer references. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15453 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e83820ed5720395d39a1ff809991b4fd76326548 |
|
07-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Merged app_server_new_clipping branch changes r15290 to 15418 back into trunk. Also fixed Jamfile for the test environment. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15419 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4b813bf2670024494ff699a4a2ccb87ca3bccd61 |
|
24-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed WinBorder to WindowLayer, and OffscreenWinBorder to OffscreenWindowLayer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15128 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4ceb1e519c0447147b1d8b54a324bb7fedd3a606 |
|
20-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* reverted Adi's premature changes to BWindow and restored _DetermineTarget() and task_looper() again. * removed BMessenger::fPreferred - whenever you had to specify "usePreferred" separately, you don't have to do that anymore - use B_PREFERRED_TOKEN instead. * fixed BTokenSpace::GetToken() semantics: it will no longer touch the "object" argument in case of failure. * Introduced a BWindow::_DistributeMessage() that will be part of the event dispatcher counterpart to the app_server (the other will be _DetermineTarget()). * Made it easier to use Michael's Message4 implementation: just add the following line to your UserBuildConfig: AppendToConfigVar DEFINES : HAIKU_TOP src : USING_MESSAGE4 : global ; * Introduced ServerWindow::HandlerMessenger() and FocusMessenger() - the first will target the client handler, while the other will target the preferred handler of the client looper (usually the view having focus). * Fixed dano message unflattening in the Message4 code. * Changed BMessage::PrintToStream() to no longer use macros in the Message4 implementation. * I hope that's all - it's a huge change, but it's all connected. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15046 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f7598223274c44c551f1ed581030e6ed5268fe68 |
|
18-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* the new input event dispatcher is now actually used, although it doesn't distribute any messages to the clients yet. * removed the working thread from RootLayer - for now, its event handlers are still called using input filters in the new event dispatcher, though (to get things started). * ServerApp is now using a BMessenger to identify its client, and no longer stores the port/token separately. * the input_server handshake is a bit simpler now, as it can now just reply to the app_server message, removed unused code from ServerProtocol.h * calmed down the MultiLocker (it always printed thread statistics on startup, because it's compiled in debug mode). * removed the cursor thread stuff from AppServer.cpp * the new event dispatcher now uses a cursor thread when supported (only in native mode, not in the test environment), although it improves cursor movement under Qemu, the effect is not as good as expected - this might need some more investigations (might just be a thread priority problem). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15012 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6c17d025516c9c1a271394f8ef618d842e68c716 |
|
15-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* Introduced a new handshake between input_server and app_server, and some temporary handling code in the app_server. * RootLayer no longer creates the input_server messaging port - this is now the responsibility of the input_server. * Moved AS_CREATE_[OFFSCREEN_]WINDOW from ServerApp::_MessageLooper() to _DispatchMessage(). * The RootLayer thread is now started as soon as the input_server is there. * removed or disabled any input_server stuff in the AppServer class. * removed old message commmands to the app_server. * Removed the R5_CURSOR_COMM and HAIKU_APPSERVER_COMM definitions: the input_server is now automatically built correctly depending on the target. * InputServer::EventLoop() plays now safe and checks for error conditions. * InputServer::EnqueueDeviceMessage() seems to leak memory, added TODO about this. * InputServer event loop messaging uses ports for inner-app communication - why? * The InputServer event loop thread is no longer killed on exit, it just quits when its port is gone. * Minor cleanup in input_server. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14949 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
be05d56c7eea834b5983ba3411d79fabd8b616b7 |
|
14-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* the app_server now uses a global token space - this should later be changed to have different token spaces depending on the scope of its objects. * removed TokenHandler - we're now using BTokenSpace instead. * removed unused IPoint.cpp - if we ever need it again, it can still easily be resurrected from the dead. * some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14925 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e37155c67037f35d73ab9329f2ebebb9334b1d9c |
|
07-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* The font list is now cached client-side. The app_server is only queried for updates. * Optimized retrieving the font list from the server. * This greatly simplifies the app_server communication for getting the font list as well - there are now only 2 commands instead of 6. * Moved extra font flags creation from ServerApp to FontStyle::Flags(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14751 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
86ad4b9c5e7a763e27556a537a5246580dadc8ae |
|
06-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
First steps into on-demand font scanning. When you've installed lots of fonts, this will speed up launching the app_server considerably (once it's done). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14720 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f38c001e5661d4664cf31ea429ef1bc7f87e7dd0 |
|
04-Nov-2005 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Assigned names to "some BLocker"s to aid debugging. Small cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14703 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1be1c7ccdf3a8ceba840f7c772aaa2ebe9c0018e |
|
04-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed (again) the crash that happened when you quit the app_server in the test environment. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14681 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
05bd1efe5b72256ccd4afa82fafb7da4ae045e0d |
|
03-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* the FontManager is now a looper (but doesn't do anything useful yet). * moved the system default font functionality into the DesktopSettings class. * ServerFont::SetStyle() is now a public method. * Improved font fallback routines: they will never end up without a font if there is at least one font installed. * fixed some minor bugs in the DecorManager. * Decorator now get a DesktopSettings object passed - dunno if that's a good idea (since we'll have to open the DesktopSettings header), but it works for now (and something like this is probably needed anyway). * a clean ServerFont is now set to the system default font - and not to the (user chosen) desktop default font anymore (since the font manager doesn't know about that one). * Improved font directory scanning in the font manager a bit, it's now using find_directory() instead of hard-coded paths. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14666 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bdd34c028f89763afa318013894e0beb039bba97 |
|
02-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed the FontServer class to FontManager. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14642 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
382049ca6f42912eab76881c9d05f9442c90e171 |
|
02-Nov-2005 |
Stephan Aßmus <superstippi@gmx.de> |
fix build of server for test environment git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14640 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b4f34cfb955ab934575b526816caeda7d8344c7a |
|
01-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* style and family IDs are no longer just the index in their parent's lists (as they can disappear and IDs should stay persistent at least as long as the system runs). * destroying a FontStyle discards its FT_Face again. * the font style and family names are now truncated to the appropriate length, so that they can always be used via the Be API. * (char *) == (char *) hardly compares the string (but was probably introduced by me when I stopped FontFamily from accessing FontStyle privates * removed FontServer::SaveList() - made no particular sense to me. * removed superfluous "inline" keyword in the FontStyle definition. * more cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14619 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
36deda69baff1eaaa1ba0693a3e06f03cb6a1839 |
|
31-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Got rid of sDesktop. Moved AS_ACTIVATE_APP over to Desktop. _CursorThread() is currently dysfunctional (but not enabled anyway). Minor cleanup (Desktop::WindowList() is now a BObjectList). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14599 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
959a5a68bcb01c877ea6fe66211e60d54bab1ecd |
|
31-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed global gDesktop variable - there is now an sDesktop variable in AppServer.cpp, but that will go away, too. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14590 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ce2fbc6151acbe6d109db8b6af2e64e317beadca |
|
30-Oct-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Fixed a mistake I did a couple hours ago. Thanks Axel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14584 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc0c33529d38b0b03239cf461b2f302f0b0a77b5 |
|
30-Oct-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Added support for BRoster::ActivateApp(). Code not tested yet, but it should work. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14579 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
338b8dc301721b1f472e8297a898d4eaa2f2ee3a |
|
29-Oct-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged changes from branch build_system_redesign at revision 14573. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ddebe7ec23737814f02aeb99e2ed3eb0fb5998e |
|
21-Aug-2005 |
Michael Lotz <mmlr@mlotz.ch> |
Moved the CursorManager over to the Desktop too. Maybe the CursorManager should be used to set the cursors directly instead of using fDesktop->GetCursorManager.FindCursor() and then fDesktop->GetHWInterface()->SetCursor() in ServerApp.cpp. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14033 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d863d4bf1d0abf169d895ac72145bc99c15e8bba |
|
12-Aug-2005 |
DarkWyrm <darkwyrm@gmail.com> |
Made scanning of all font folders a compile-time option Moved the scanning of individual font folders to FontServer Implemented server-side code for update_font_families Removed ClientFontList from the build git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13938 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
15ae8872f706b1553196f0a5849c1667e4e3a95a |
|
28-Jul-2005 |
Stephan Aßmus <superstippi@gmx.de> |
hacking session with Ingo part2: in the R5 test environment, the app_server links no longer against libbe.so, the classes which need it, ViewHWInterface + friends, are extracted into their own library, but we need a bridge library as well for HWInterface + friends. The AppServer is consequently no BApplication in the test environment anymore, the BApplication that is needed to display the frame buffer window is handled in ViewHWInterface. No functional change, except that our BRegion implementation is now used in the test environment, and who knows what else... luckily we are so extremely binary compatible, that passing a Haiku BRegion to the R5 app_server actually works. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13848 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
35a71b19367c9c6bb43385b07b860200aed6223e |
|
25-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The app_server now inherits from MessageLooper as well. Removed unused stuff. The app_server now deletes itself when done (and therefore must not be allocated on the stack anymore). The cursor handling should be moved over to the desktop as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13825 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
770c05d6cc602b2e545e2ccae5a17c576881dc9c |
|
25-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The Desktop class now gets its own message processing loop: moved application creation/deletion (and management) over to that class. ServerApp now gets a desktop pointer, and no longer uses gDesktop. Converted private MessageLooper::_MessagePort() to a public method MessagePort() so that the looper can be addressed from elsewhere without using PostMessage(). Added a real basic message loop to MessageLooper::_MessageLoop(). BApplication now only asks the app_server to get its desktop object which should now be used for everything that's not in the realm of the application. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13824 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
18b5424c5f12197d3979cf38dc69149c5e98150c |
|
24-Jul-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Implemented BRoster::ActivateApp(). * Added the respective case statement in AppServer::DispatchMessage(). The code that actually activates the app is still missing. * Removed the remnants of the old way of notifying the registrar about what app got activated (the activated client window did that). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13820 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
be85e1420822ee051d847e71224c81a907956c29 |
|
24-Jul-2005 |
Stephan Aßmus <superstippi@gmx.de> |
initializing the system palette before creating the desktop and driver fixes the bug that the desktop is first shown in the wrong colors on 8 bit screens git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13817 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5f2edc0ffc961dd2d684d855b7b8315be331fd0b |
|
24-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The Desktop class now inherits from MessageLooper as well, the AppServer class runs it, too. No real message processing is done yet, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13816 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
89ab121e66e7cd6136e4e561805b85acea3d046a |
|
23-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Factored a MessageLooper class out of ServerWindow and ServerApp. Could still be improved a bit (Quit() and _MessageLooper() are empty right now). Removed ServerApp::PingTarget(). Hopefully cleared some confusion about ServerApp::fClientLooperPort and fClientToken (previously fHandlerToken), even if it's currently unused. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13807 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fd5bec1e482fc3aa3b6b98ae26599433d3cb797d |
|
14-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
First baby step to a restructured app_server: - introduced new ScreenManager and VirtualScreen classes - removed screen handling from RootLayer - removed multiple screen/root layer stuff from Desktop, it's now using a VirtualScreen object instead git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13686 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3f319b3346fcc3f45786d9fb9c6ca698c4de7a22 |
|
10-Jul-2005 |
Michael Lotz <mmlr@mlotz.ch> |
Some cleanup, some removed typos, some unification, some fixes and some added todos. Most of it related to client-server communication. Apps that rely on BFont stuff should work now (StyledEdit, Fonts, Keymap, Menu, ...). Or should not hang/quit at startup at least. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13625 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c9299b3ce8698ba0b2e2d00f0547b26b6181cd50 |
|
05-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Instead of killing the ServerApps the hard way, the AppServer now quits them if they didn't listen to B_QUIT_REQUESTED. This works much better as how it was done before. Now uses exit() instead of exit_thread() which makes sure no thread survives. Note, there still is a race condition in case an application quits immediately before shutting down the server - in that case, it doesn't participate in the fShutdownSemaphore stuff, and therefore, the app_server could quit it too early. Maybe I'll fix that one day, as well :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13481 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b1e04bcb5c5b5b7918d335bab93ddbe214e63ef3 |
|
04-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The app_server now also quits fast in case there are no apps to quit... :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13432 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3870c9f18f109903c134d6d36271ec3e83e7a185 |
|
01-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Improved quit mechanism (for the last time): if an application had open windows that wouldn't quit on demand, the app_server would have gotten the kShutdownServer message anyway already (as the last app was quit). Since that one removed things like gDesktop/gBitmapManager, it liked crashing. Now, there is a semaphore that will be send to each app on quit. Only when this semaphore can be acquired, the shutdown message will be sent. Removed unused semaphores (decorator, active app). Replaced fAppListLock with a BLocker (just calling acquire_sem() without error checking is very unsafe in userland, and should never be done). BTW the bug was triggered by broken menu code that only sometimes really quit the window; it leaves a whole lot of zombies around - Stefano, any quick idea? :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13384 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b5436616a3528ac13645a3e73065474ef988c107 |
|
23-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed some style related functions and other oddities in FontServer. Also applied our style guide on that class. Renamed some public globals to match our style guide. Made BitmapManager inherit from BLocker instead of duplicating its functionality (incorrectly, did not check for B_INTERRUPTED) locally. Some more cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13259 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3dcb3b079ab645a90859eba6505cf2692c291138 |
|
23-Jun-2005 |
Stephan Aßmus <superstippi@gmx.de> |
Added some root layer locking in ServerWindow.cpp when accessing the layer tree. Moved HWInterface management out of DisplayDriverPainter and into Desktop. Removed all the directly hardware related functions from DisplayDriver API. They just called the same HWInterface functions. Now DisplayDriver is much cleaner and ready for being attached to a yet to be written BitmapHWInterface. Clean up of the display mode stuff in Screen and the View-/AccelerantHWInterface. Frequency is now regarded on Haiku. AccelerantHWInterface::GetModeList now works before SetMode has been called. Added MultiLocker from the sample code. HWInterface uses it now in preparation to being used from multiple instances of DisplayDriver. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13252 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fcb006dcf5e3396d905e09d127c085f7efb9b017 |
|
23-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Rewrote how the app_server and ServerApp's quit. As a side effect, the server can now quit instantly. AppServer must no longer call ServerApp's destructor once it's running - it now has to call Quit() in this case. The ServerApp is now destructed in its own thread. Some cleanup (like renaming ServerApp::MonitorThreadID() to Thread()). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13238 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
550d6a53752c94858a712b581a56f66bc6696fe8 |
|
17-Jun-2005 |
DarkWyrm <darkwyrm@gmail.com> |
Cleanup for decorator management code Updated a couple headers Moved all decorator code to ServerApp where it belongs Modified AppServer::Broadcast to allow ServerApps send messages to all apps without having to have a global AppServer instance git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13204 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
587e093725330f12bfa4d8b597bd7ae3ef75dcd5 |
|
16-Jun-2005 |
Jérôme Duval <korli@users.berlios.de> |
reworked registrar launch wait, avoids snoozing git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13193 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e67e7dd995e5543b37fa8d45e2ba65626f80648a |
|
15-Jun-2005 |
DarkWyrm <darkwyrm@gmail.com> |
Some cleanups to ColorSet in anticipation of future cleanups for Appearance app git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13156 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dd10337fd005a67a4947714fdeecf2121485b91d |
|
14-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed BAppServerLink to AppServerLink, BPortLink to PortLink, LinkMsgReader to LinkReceiver, LinkMsgSender to LinkSender, and put everything into the BPrivate namespace. Made AppServerLink a cheap object - it will use the applications receiver/sender and not create its own buffers. Fixed broken communication stuff here and there (mostly Font.cpp). Put the newly introduced set|get_system_colors() into the BPrivate namespace - please don't introduce private functions into the public namespace!!! Also fixed their broken communication use, as Darkwyrm obviously forgot about it again: the sequence Flush(); GetNextMessage() without error checking is purely wrong and can make the app hang and/or crash! :-) Other minor cleanup. The input_server used some test mode with the haiku build target which is probably wrong. Hopefully I did not forget anything this time. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13128 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
57bbc53987a2e821025ddb88146ca7f68ff3c068 |
|
14-Jun-2005 |
DarkWyrm <darkwyrm@gmail.com> |
Moved some system colors code to be monitored by a client's ServerApp git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13123 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ba7d6f35058ac6bdd50b37d60e75034cef83ce2 |
|
08-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added AS_{GET|SET}_DESKTOP_COLOR. (Incorrectly) implemented AS_GET_DESKTOP_COLOR - works for now. Minor cleanup. Is AS_SET_SCREEN_MODE used at all? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13010 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bd28b3c7469be94f8c4dbecc3d2683d7960da4dd |
|
07-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
BAppServerLink is now using BApplication::fServerTo/From for its messaging. Added LinkMsgReader::NeedsReply() method. Completely redone ServerApp messaging: no more "replyport" from BAppServerLink; instead, the registered client reply port is used. Fixed some more weak messaging stuff. ServerApp now recognizes if an unknown message needs a reply, and sends it - for example, the "Screen" preferences app no longer hangs, but crashes on start :) Made LinkMsgReader::Read() virtual again, since it's needed by RAMLinkMsgReader.cpp. Renamed BPortLink::GetNextReply() to GetNextMessage(). Some more cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13004 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0aa69a9cd4f37a6f343d6d7dfc74aded88c25916 |
|
07-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed the crashing bug when quitting the app_server. The display driver is now owned by the Screen object. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13002 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
75936a02e432bb4ceb04494f0d53eb4d10ac7764 |
|
07-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
BPortLink now has a FlushWithReply() method itself. BPortLink::AttachString() now accepts a length argument, and will no longer send a terminating null byte; LinkMsgReader::ReadString(), however, will make sure the string read is null terminated. Changed client communication code to use FlushWithReply() instead of Flush() and GetNextReply() - there were many bugs and shortcomings in the code, I hope I've fixed them all. Converted ClientFontList.cpp to our coding style (but not completely, the class members are missing). Some more cleanup - I hope Adi will adopt our coding style one day! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12998 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7475dcdf3a736a8e17b0d3fabe970a48661f7d83 |
|
07-Jun-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Added an app server command to retrieve the color map. Made some adjustments to SystemPalette.cpp, implemented support for it in BPrivateScreen. Moved get_scs() a bit down to avoid a deadlock. Note that getting the colormap doesn't work due to port capacity limit (?) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12996 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5afe056c716f6d0c15028a5304b5428c1eda6b57 |
|
01-Jun-2005 |
Jérôme Duval <korli@users.berlios.de> |
added a snooze, input_server is well started by app_server this way git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12924 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6390df8e27c19a517f8aa043a43d6b5051cf6dd2 |
|
28-May-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Made app_server a static, renamed desktop to gDesktop as it's a global, RootLayer now uses its own fDesktop internal member instead of the global one. Fixed a typo in some commented code (thanks Axel) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12864 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7f2831b56b4add56f2cffdb506575f10b01349f3 |
|
28-May-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Removed a couple of friendships, commented/removed unused stuff git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12863 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2724858b5b929609dd8e65b488ec02e3a010c68f |
|
27-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added global app_server port, so that other parts of the server don't have to search for it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12859 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5e9441bed937397c3f1ab91055e52c3b02b74606 |
|
27-May-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Removed leftovers git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12857 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d7c08b7d2e945f1284a22a3db01652c47fd41d3a |
|
26-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Tried to make the ServerApp aware when a client dies: the main communication port is now transferred to the client, so that it goes away automatically. Unfortunately, this doesn't seem to work. This code is truly a big mess :-/ git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12846 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
151ebb14dd48d1206adb1e46a05bbbbadaaa6be6 |
|
14-May-2005 |
Stephan Aßmus <superstippi@gmx.de> |
just a little cleanup, made PNG screenshots work git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12665 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
04efb239b7b67db3b7bff60c80bfece9bd91dd72 |
|
07-May-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
AppServer is no longer a friend of ServerApp. Small cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12586 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
78f09a0553b88f6f3923d04ddb7126440f42d530 |
|
06-May-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
app_server doesn't hang anymore when an application exits in an unclean way. Got rid of the kill_thread in ServerApp's destructor. Small refactoring. Added a TODO item. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12578 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
55814cfde4e152afe902589c7b6bb485b4b8a903 |
|
02-May-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Added a TODO item with a bad bug report git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12524 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ecbc8ec9c2ebebfdccfb16bd5a093c98461b3978 |
|
30-Apr-2005 |
Jérôme Duval <korli@users.berlios.de> |
reversed cursor.x and cursor.y cursor semaphore initial count is now zero git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12520 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6e927d6e3bfdf02212adc85d9f83341b61373dd8 |
|
30-Apr-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
BScreens methods didn't work for a number of reasons: fixed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12517 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9c06e46d6a45fa43a77f5f65124eb80e51ef54d0 |
|
29-Apr-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
fDriver wasn't apparently used anymore. Thanks Jerome. BTW we should remove it if it's useless git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12514 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4dbe8b9db69a460e6ea33575ef94f96daa3a25eb |
|
29-Apr-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Server-side code for BScreen::GetMode() (actually tweaked an old implementation) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12509 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e9da11d0b2f87c70b7292ec5601dea3d7b4ddb75 |
|
28-Apr-2005 |
Jérôme Duval <korli@users.berlios.de> |
added inputserver test mode for ViewHWInterface we write view events to a port so that the ViewInputDevice gets them and have them processed by input_server, and then app_server git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12489 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b8d27287f902c5529f1ac8ef0dd5e70006b763f1 |
|
19-Apr-2005 |
Jérôme Duval <korli@users.berlios.de> |
Added support for cursor position handling from input_server LaunchInputServer now waits for _roster_thread_ to be running Not tested/not enabled :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12445 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
597c548ca3e783841a2d9cd7ba48781255992690 |
|
16-Apr-2005 |
Michael Lotz <mmlr@mlotz.ch> |
Moved the port creation for app_server - input_server communication out of the DisplayDrivers and into the AppServer constructor. This may later needs to be moved into RootLayer if we want multiple user support. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12426 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bd841e3cd4bb2ba56a9ef8c68d4121c11bb3f9bf |
|
13-Apr-2005 |
Stephan Aßmus <superstippi@gmx.de> |
fall back fonts are actually used now if you didn't install the Vera fonts on R5 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12387 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6697162d5c7466857d59e6766c8075fe116ca3ec |
|
12-Apr-2005 |
Stephan Aßmus <superstippi@gmx.de> |
just a slightly more robust default font handling... should now work on Haiku even if you didn't install fonts from BeOS. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12347 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9775bf33cf929b0e4718b791c3ef11d3fe82ef1e |
|
29-Mar-2005 |
Michael Lotz <mmlr@mlotz.ch> |
TEST_MODE is now disabled on Haiku too. So app_server is not a BApplication anymore and doesn't depend on itself. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12131 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b2b5acff33d176e8b70ae9d9528f54ef9b25dc30 |
|
29-Mar-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Made DISPLAYDRIVER a true compile time option. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12119 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c98108eee32f88a7c74747fd25f355451a72c8ed |
|
25-Mar-2005 |
Michael Lotz <mmlr@mlotz.ch> |
The monitoring thread should be called "picasso" (lower case) as in BeOS R5. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12005 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
33bbe223914093509b4bc56bea8a90c81af80a37 |
|
24-Mar-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Moved app_server files to app/. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11972 a95241bf-73f2-0310-859d-f6bbb57e9c96
|