Commit Graph

11764 Commits

Author SHA1 Message Date
Ingo Weinhold
faed617707 Implemented fork() support. We basically need to re-get the heap area
after fork()ing and recreate all semaphores we've been using. To do
the latter, we simply maintain a list of all locks.
fork()ing multithreaded teams can still be troublesome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:34:20 +00:00
Ingo Weinhold
576c52f8b1 Added the gcc printf format attribute for debug_printf(), so that gcc warns about format/parameter inconsistencies.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:25:57 +00:00
Ingo Weinhold
adc9b39a23 * Added printing a stack trace in case of a page fault. Must be enabled
explicitely when needed.
* Added a ToDo item to _user_resize_area().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:24:33 +00:00
Stephan Aßmus
e0bb2421ea whoa - how did this even work?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 14:29:18 +00:00
Stephan Aßmus
197f82a8fe sorry, forgot to commit the move of the locking implementation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 13:43:39 +00:00
Stephan Aßmus
181a984e2a implemented the rest of the drawing calls save for Stroke/FillShape, since I would have to ask what kind of data this function is being passed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 13:39:35 +00:00
Stephan Aßmus
02ec6ae825 Implemented and tested the color spaces B_RGB16, B_RGB15, B_CMAP8 and B_GRAY8. The trick is this: The Painter based implementation will most likely always use a double buffered approach. I simply made the back buffer, into which Painter draws, always B_RGBA32, while the front buffer can have any other format the drawing backend is supposed to support. In CopyBackToFront, the format conversion is handled. This gets us pretty far without actually doing very much, and I am not even sure if there should/can be a better implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 13:38:11 +00:00
Stephan Aßmus
c3bfa6fec9 avoid a crash if used without attached buffer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 13:33:15 +00:00
Stephan Aßmus
9543470f44 RootLayer thread can busy loop, and with this change, its easier to shoot app_server whereever it hurts most
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:13:19 +00:00
Stephan Aßmus
f6939eb1e1 more correct implementation, but still exhibits problems, usage turned off in ViewHWInterface::Invalidate
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:11:33 +00:00
Stephan Aßmus
94b3e6bfd0 ignore the pattern passed to the drawing functions, keep using the one from SetDrawData
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:08:10 +00:00
Stephan Aßmus
55a56d8b0e added fake_input_server.cpp to the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:04:44 +00:00
Stephan Aßmus
022badfd34 extracted the fake input_server communication into an extra file used by ViewDriver and ViewHWInterface
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:04:00 +00:00
Stephan Aßmus
53115c9920 moved the place of implementation of locking in DisplayDriver, because the Painter version has it elsewhere. the DisplayDriver locking API is now abstract, the same locking is now in DisplayDriverImpl, Painter version uses HWInterface for locking
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 22:02:19 +00:00
Michael Lotz
3c46b74895 Remove debug leftover.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 21:29:55 +00:00
Michael Lotz
cd970020cb Implement the BWindow::task_loop again. I know that this is code duplication, but look at
the TODO item for an explanation. We could do this as a hack in Looper.cpp though.
Also implement the determine_target function (incomplete).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 21:08:38 +00:00
Ingo Weinhold
4b72d3d8a8 Renamed gawk's libintl.a target to <gawk>libintl.a and placed it in the
objects/ tree, so that it doesn't clash with others (those should be
fixed, too). gdb is (or will be, as soon as I check it in) using this
version, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 20:21:53 +00:00
Michael Lotz
1e29ee2b74 Made it possible to disable PCI module debug output.
This speeds up boottime with serial debug enabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 17:00:20 +00:00
Michael Lotz
11356b94e3 Fix Setenv to properly export TERM that commands like clear work too.
We use Setenv instead of the native setenv to stay binary compatible with
BeOS, as R5 does not have setenv.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 16:05:55 +00:00
Michael Lotz
fa78489457 Added a BMessageFilter to catch the B_TAB key (for tab completion).
This doesn't work under Haiku yet though.
Also made the thread functions into members of MiniView so that we
can have correct private members.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 15:47:40 +00:00
Adi Oanca
d9bbe07efa When the active window (the one who has both, focus and front states) changes, messages are sent to the client side. This makes BWindow::WindowActivated to be called on such am event.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 13:52:26 +00:00
Adi Oanca
80cbe2b0f3 2 new methods
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 13:48:30 +00:00
Adi Oanca
2401f93d84 Added FrontWinBorder(). Made FocusWinBorder() and a few other methods inline.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 12:58:27 +00:00
Adi Oanca
ab88eaf2ad BWindows are notified when they are moved or resized.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 12:19:37 +00:00
Adi Oanca
27e3da2fac BWindow's frame events hooks work now. Frame gets updated on window move/resize.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 12:16:31 +00:00
Adi Oanca
867b420067 get_workspace_windows() new returns true if there was a change in window hierarchy. Improved performance a bit by avoiding an invalidate call.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 10:51:28 +00:00
Adi Oanca
aa498a5f03 get_workspace_windows() now returns bool
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 10:49:42 +00:00
Adi Oanca
9e358400f5 Sending windows into background works now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 10:00:37 +00:00
Michael Lotz
2a0a0e9c0a Add the MiniTerminal to the buildsystem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 06:12:25 +00:00
Michael Lotz
160bd2ffca This is a minimalistic version of a terminal.
It can be run under R5 and Haiku (binary compatible) and should work
with the Haiku app_server and input_server.
It gives access to a /bin/sh like a normal terminal, but has no fancy features
like different text encoding support and it cannot even redraw itself when
something else overdraws it.
But it's pretty impressiv that it works so well under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 06:11:38 +00:00
Michael Lotz
6109122c9b Implemented screen to screen blit and cleaned up header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 05:29:56 +00:00
Michael Lotz
65369afd6d Implement AS_LAYER_COPY_BITS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 05:25:59 +00:00
Michael Lotz
f43d1e849d Implement AS_LAYER_SET_PATTERN.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 04:08:33 +00:00
Michael Lotz
a2a622616f Some cleanup to make it easier to read.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 03:33:23 +00:00
Michael Lotz
ac13e18b22 The default shear is actually 90.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 03:15:34 +00:00
Michael Lotz
ed16bb7885 Fix KeyDown/KeyUp calls so that we don't always get numBytes = 0.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 02:07:02 +00:00
Michael Lotz
d5373f593a Minor cleanup and a small fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 01:57:28 +00:00
Ingo Weinhold
61b60efc91 Added gdb's libiberty to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 23:35:57 +00:00
Ingo Weinhold
f0d5a638b1 Added a config.h (generated by configure). We probably have to check this later again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 23:35:24 +00:00
Stephan Aßmus
c3314ff5eb added DPMS functions to HWInterface as well as Initatialze and Shutdown, added a couple of TODO comments
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 23:23:40 +00:00
Stephan Aßmus
4594032d1a got this added\?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:26:42 +00:00
Stephan Aßmus
3294d07b15 abstract base class and implementation using BView and BWindow of an interface to a graphics card, UpdateQueue doesn't work yet, it was going to be used to decouple frame buffer transfers to the front buffer from the drawing in the back buffer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:16:29 +00:00
Stephan Aßmus
5cdd702901 use a DisplayDriverPainter version if config says so
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:13:23 +00:00
Stephan Aßmus
1b52d7cf9c include my new stuff in the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:12:37 +00:00
Stephan Aßmus
3d07835f2a init display mode
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:11:52 +00:00
Stephan Aßmus
517e54d0d9 added more support functions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:10:54 +00:00
Stephan Aßmus
80547db1f2 added some support functions for string bounding box
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:09:58 +00:00
Stephan Aßmus
4157339be2 started to implement stuff, it can actually be used and renders my test app almost like the old implementation, plus clipping
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:09:02 +00:00
Stephan Aßmus
e56d7bd374 fixed type in RootLayer, which I found because I triggered a bug
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:05:40 +00:00
Stephan Aßmus
f21a56fe4f added Painter version of DisplayDriver
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:04:29 +00:00