Commit Graph

14444 Commits

Author SHA1 Message Date
Axel Dörfler
6c17d02551 * 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
2005-11-15 19:59:53 +00:00
Axel Dörfler
af8899c4bf Added support for not visible cursors - defaults to invisible now!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 19:50:19 +00:00
Axel Dörfler
a512a89b27 Fixed some memory leaks, fChars was never freed.
Now uses (nothrow) for fChars and checks if the allocation succeeded.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 15:50:42 +00:00
Axel Dörfler
9514d2e5e6 * introduced a global gInputServer object, so that you don't need to cast the
be_app object anymore.
* fixed some missing locks for the input device list.
* moved the input device list into the InputServer object - didn't make a lot
  of sense the way it was done before. Also moved registering/unregistering
  into the InputerServer class.
* Made the InputDeviceListItem class a bit more useful and encapsulated.
* cleanup, removed empty function documentation stubs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 15:35:36 +00:00
Axel Dörfler
44534147b1 "#ifdef __HAIKU__" is no longer needed with the new build system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 13:47:48 +00:00
Rudolf Cornelissen
6ff4803446 removed B_BAD_VALUE override in proposemode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 12:36:57 +00:00
Rudolf Cornelissen
94419876a5 blocked skeleton driver from reporting supported cards: was interfering with VIA driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 12:27:48 +00:00
Axel Dörfler
4d0c856564 Workspaces now always accept the first click.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 12:24:28 +00:00
Rudolf Cornelissen
e4a15e4d45 removed B_BAD_VALUE override. blocked accelerant from signalling that it's actually supporting a card (interfered with VIA driver if installed).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 12:23:45 +00:00
Rudolf Cornelissen
0f2dfacab4 updated docs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 12:14:33 +00:00
Rudolf Cornelissen
4022652c41 updated DPMS programming to take DVI panels into account for TVout modes on the same head. Enabled TVout support for all cards as long as they have a supported encoder (test-image is now shut-off). TVout support should be complete now, apart from adding support for more encoder-types. Bumped version to 0.63.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 12:12:45 +00:00
Ingo Weinhold
d89467ed24 Fixed potential endless recursion in FBC code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 12:10:30 +00:00
Stephan Aßmus
8f90c77db9 a quick fix for offscreen layers drawing region, ie BitmapDrawing works again
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 11:18:33 +00:00
Axel Dörfler
07184a9e61 No longer ignores a failing SetMode() but will show an error request.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 10:35:59 +00:00
Axel Dörfler
60bddfface Removed background color from images - BeMail will now look much better if you have
a different panel background color.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 03:13:19 +00:00
Axel Dörfler
9a1d68e4aa * rewrote ColorControl.h
* removed unused stuff.
* shuffled methods around in the source, so that you don't have to jump so far
  when working at a specific thing (ie. all draw functions are grouped together, ...)
* ResizeToPreferred() should now work as expected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 02:45:19 +00:00
Stephan Aßmus
a7ab4a2642 fix activation of windows
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 01:42:58 +00:00
Stephan Aßmus
034104bc0f * fix invalidation of changed items
* fix deselecting items
* fix selection with the mouse and also holding down modifiers
* fix some more stuff I have already forgotten
* applied coding style in most places
* renamed private functions to be consistent

needs more work though, some stuff can definitely be
removed, some needs to be added


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 01:36:10 +00:00
Stephan Aßmus
437fc0be3f invalidate the parent where the blue focus indication actually belongs, completes Axels recent changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 01:32:23 +00:00
Stephan Aßmus
e1d08bc65b when using enter or space to invoke a button, have the button snooze a mikrod to make sure the visuals get across
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 01:27:37 +00:00
Stephan Aßmus
db3c2e1e8e * drawing is on the road to perfection
* uses another virtual to implement WindowActivated() and draw itself in
  disabled look just like in R5
* fixed _ButtonRectFor() off by one errors
* tiny problems remain when clicking on the ScrollBar (it is shifted)
* the _ValueFor() might not be perfect


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 00:23:03 +00:00
Axel Dörfler
a2236c14c0 The mouse down/moved area is now the same as the one drawn...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 00:07:42 +00:00
Axel Dörfler
f0c09cbbaf Again, forgot to check if the fake_app_server still builds correctly (which it didn't, surprisingly).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 20:40:44 +00:00
Axel Dörfler
f375b21da5 Forgot to remove IPoint.h - it's no longer needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 19:48:16 +00:00
Axel Dörfler
be05d56c7e * 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
2005-11-14 19:46:20 +00:00
Michael Pfeiffer
4a6c604ad4 Clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 19:08:35 +00:00
Axel Dörfler
614de12d9c * the decorator knows best which region to update when changing the title, so
it must now fill the updateRegion parameter of SetTitle().
* WinBorder::SetName() is now greatly simplified and achieves better results
  due to that.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 18:16:01 +00:00
Adi Oanca
9a3090b0ed this fixes the problem Axel signaled with the OK button in terminal's about box
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 18:10:54 +00:00
Axel Dörfler
a436bab2da Renamed fVisible2 and fFullVisible2 to fVisible and fFullVisible.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 17:56:51 +00:00
Axel Dörfler
5df853ea79 * Renamed Layer::GetWantedRegion() to GetOnScreenRegion().
* minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 17:50:39 +00:00
Axel Dörfler
618c515c4c * pruned Layer::PruneTree()
* the Layer destructor now deletes all of the layer's children
* WinBorder no longer has to delete its top layer, as it's also its child.
* minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 17:39:33 +00:00
Axel Dörfler
4a71b881a9 Final GCC 4 fixes by Ingo Weinhold (were not visible before, due to a missing -no-undefined).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 16:08:59 +00:00
Axel Dörfler
02e5c93fd6 Rewrote FilePanel.h, cleanup.
Removed public functions run_open_panel() and run_save_panel() - they are deprecated
now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 15:53:46 +00:00
Ingo Weinhold
d28317fcba Added small RTTI test.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 15:08:51 +00:00
Axel Dörfler
b66d753712 * Prepared the BScreen and BPrivateScreen class to be used with multiple monitors.
* BPrivateScreen now buffers its frame for 0.1 seconds (so that calling it several
  times in a row is both consistent and cheap).
* Added GetFrameBufferConfig() call to the HW interface (and implemented it).
* Added server commands AS_VALID_SCREEN_ID, AS_GET_NEXT_SCREEN_ID, and
  AS_GET_FRAME_BUFFER_CONFIG.
* BPrivateScreen::BaseAddress() and BPrivateScreen::BytesPerRow() are now working.
* minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 14:36:12 +00:00
Ingo Weinhold
9469b271e8 Typo that broke the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 14:26:14 +00:00
Ingo Weinhold
c89fc8752d * More consequent handling of libsupc++. configure looks it up now and
provides it via BuildConfig. We link everything against it.
* Temporarily pass --no-undefined to the linker. Should be in the
  compiler specs, but isn't in the gcc 4 I built.
* Define _BEOS_R5_COMPATIBLE_ macro when building with gcc 2. Can be
  used in headers for instance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 13:47:52 +00:00
Ingo Weinhold
31c5d829c9 Don't mark inline what is defined in the source file, but used from
other compilation units too. gcc 4 is quite consequent and doesn't
generate non-inlined code for such a function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 13:39:02 +00:00
Ingo Weinhold
c5f20ef053 Added finitef() implementation. Won't work yet, since __fpclassifyf() is
not implemented.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 12:28:21 +00:00
Axel Dörfler
d9525baaf5 * Forgot to update Screen.h with the last commit...
* Introduced and implemented AS_GET_SCREEN_ID_FROM_WINDOW - it only returns B_MAIN_SCREEN_ID,
  though.
* renamed ServerWindow::fHandlerToken to fClientToken.
* The BScreen(BWindow *) constructor now really asks the server for the screen ID.
* ServerApp::fWindowList is now a BObjectList.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 12:08:21 +00:00
Ingo Weinhold
ef9b2fc28b Added temporary implementation of strxfrm().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 12:07:29 +00:00
Axel Dörfler
a817d6ad5a * (tried to) implemented RootLayer::ResizeBy() and activated AS_SET_SCREEN_MODE again;
it works in the test environment, but I haven't yet tested it on real hardware.
* moved PrivateScreen.h to src/kits/interface/ - it's not used outside of that one.
* moved reading the color map from the BPrivateScreen constructor to the ColorMap()
  method.
* improved/cleaned server/client communication for the screen stuff a tiny bit.
* fixed the GetBitmap() method I implemented yesterday.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 11:01:02 +00:00
Ingo Weinhold
e84b16339c Fixed loading of modules whose text and data segments have a little
space inbetween. The segments can be in inverse order now, too.
The same should be done in the kernel, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 10:24:45 +00:00
Stefano Ceccherini
d2718b5d34 we write family and style as an uint32, so we should read it as an uint32 too
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 21:54:41 +00:00
Ingo Weinhold
22671ef7cf Apparently gcc 4 aligns the input .ctors sections on 4 byte boundaries,
which could cause the __ctor_list pointer to be off.

PS: We can get rid of most of the ld scripts. ATM only kernel.ld,
boot_loader.ld, and add-on.ld are still in use. The latter one probably
unnecessarily.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 21:08:15 +00:00
Axel Dörfler
466871cc93 Implemented GetBitmap() - only client side, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 20:05:42 +00:00
Axel Dörfler
8bd2c11fc4 Moved the declaration of roundf() to HaikuBuildCompatibility.h - it's missing from
math.h but exported by libroot.so.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 19:43:42 +00:00
Axel Dörfler
d2f25ec7a5 That work-around for R5 build targets should no longer be necessary.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 17:54:18 +00:00
Axel Dörfler
0c0bf02aac setjmp() is now an assembly stub that doesn't create a stack frame but just
jump to sigsetjmp(). I'm a bit irritated that the previous version didn't
run as expected, but it now does.
This needs some more investigation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 17:46:40 +00:00
Ingo Weinhold
90b6f0e5fe Replaced a few lstat()s with stat()s where symlinks to directories would
be legal. This might even fix the bug that build tools like xres or
settype couldn't find an existing file under Linux (was never able to
reproduce that one, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 17:22:25 +00:00