Commit Graph

14603 Commits

Author SHA1 Message Date
Axel Dörfler
6b95c59bd8 Renamed myRootLayer variable to rootLayer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 13:56:35 +00:00
Axel Dörfler
fa26723bb2 * Moved workspace keyboard switch and dump screen capability from RootLayer
into a Desktop keyboard filter.
* Removed keyboard handling code from RootLayer and Layer.
* Renamed Desktop::ActiveRootLayer() to RootLayer() as there is only one
  root layer per desktop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 13:51:32 +00:00
Axel Dörfler
f68598780e * the keyboard events are now using the new EventDispatcher, B_KEYBOARD_EVENTS don't
work yet, though, as the dispatcher is not yet notified about those.
* no more mouse cursor jumping - the cursor will now start in the middle of the screen;
  this should be part of the initial input_server handshake, though.
* ServerWindow can now return a BMessenger of its client window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 13:21:07 +00:00
Axel Dörfler
8d8f5950d0 Some cleanup, mostly GetHWInterface() to HWInterface().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 12:26:20 +00:00
Axel Dörfler
b43c728310 Fixed build of the fake_app_server.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 12:21:15 +00:00
Axel Dörfler
7a67c93f8e Turns out B_RELEASE_ALL just works as expected - it was a deadlock by design; when the
cursor thread didn't call acquire_sem() fast enough, it would never get released by
B_RELEASE_ALL (as that only releases all waiting threads), and thus, waited forever
for the semaphore to be released again.
On the other side, the input_server didn't call release_sem() anymore, since the
cursor thread still didn't read out the data after the last release...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 12:04:28 +00:00
Axel Dörfler
1b120ea94a Turns out there were a couple of problems:
* RootLayer still set the mouse cursor...
* mixed up "x" and "y" in the cursor thread
* but that didn't get noticed, as B_RELEASE_ALL doesn't seem to work
  (will look into that next)!

The cursor finally works as good as expected in Qemu :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 11:50:34 +00:00
Axel Dörfler
f759822327 * 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
2005-11-18 11:30:06 +00:00
Axel Dörfler
b9e43e2c12 Just another manager - not yet used, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 09:43:37 +00:00
Ingo Weinhold
65f512e089 Fixed gcc 4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 22:53:30 +00:00
Axel Dörfler
d8e2fb507a Some cleanup:
* fixed all warnings.
* moved functions from the header into the source file.
* added a TODO about the incorrect usage of BFont::Size() as font height
  in pixel!!
* renamed some stuff to match our style guide a bit better - could need
  some more work here, it's still pretty messy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 22:10:58 +00:00
Axel Dörfler
740ccdc27e Cleanup, added license.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 20:19:27 +00:00
Axel Dörfler
0307fbb17d Implemented support for Set[Mouse]EventMask() functionality - still untested, though.
Also supports the B_SUSPEND_VIEW_FOCUS options, B_NO_POINTER_HISTORY is not yet there,
and B_LOCK_WINDOW_FOCUS has to be implemented somewhere else (its outside of the
scope of this class).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 18:46:55 +00:00
Rudolf Cornelissen
6482dd587f updated docs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 18:43:36 +00:00
Axel Dörfler
0e29f57a22 Fixed the app_server build in the test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 18:43:08 +00:00
Rudolf Cornelissen
44906a1b98 added two more reg defines for DMA init code NV47. Completed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 18:38:41 +00:00
Rudolf Cornelissen
40df1a3a01 completed DMA acceleration init code sync to XF86. All cards should be operational again (still untested). Bumped version to 0.65.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 18:37:52 +00:00
Rudolf Cornelissen
7514b6b4dc updated register defines to support extended acc engine init stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 16:33:28 +00:00
Rudolf Cornelissen
a737fa0ca8 updated docs. Bumped version to 0.64. Warning: largely untested and in progress...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 16:32:46 +00:00
Rudolf Cornelissen
4cb53e7f3a updating DMA acc engine init code: part 4. Still in progress, but maybe NV47 acc runs now: It's enabled now. This turns out to be an interesting update: init code has been extended for NV20 and higher cards, giving me reason enough to probably do some more 3D testing on newer cards. (probably for nothing though :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 16:31:53 +00:00
Axel Dörfler
afe5450a83 * Fixed the most obvious copy&paste bugs.
* no longer allocates focus messengers on the heap but keeps them around.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 16:08:04 +00:00
Rudolf Cornelissen
44e343dc48 updated engine DMA acc init code, part 3 (in progress).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 14:58:52 +00:00
Axel Dörfler
08f35604b0 The basics of the new event handling - not yet connected to anything, and therefore
neither used nor tested. It's not even complete yet (support for Set[Mouse]EventMask()
is missing), but it will get there :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 14:58:19 +00:00
Rudolf Cornelissen
1f6a1fb824 updated engine DMA acc init code, part 3 (in progress).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 14:58:19 +00:00
Axel Dörfler
6226d5f7cd The Desktop's message port now gets the same name as its looper.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 14:56:12 +00:00
Rudolf Cornelissen
0229e1586c updating DMA acc init code, part 2: in progress.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 14:13:22 +00:00
Rudolf Cornelissen
d7cf273bae comments update. (more unknown but used ID ranges..)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 13:31:01 +00:00
Rudolf Cornelissen
efb60a4ef5 updating DMA acceleration code for NV41, 43, 44. Adding code for NV47: sync to XF86, in progress (acc might be broken now..)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 13:00:33 +00:00
Rudolf Cornelissen
5b3f340070 updating DMA acceleration code for NV41, 43, 44. Adding code for NV47: sync to XF86, in progress (acc might be broken now..)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 13:00:03 +00:00
Rudolf Cornelissen
133f2ec55d comments update.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 12:54:20 +00:00
Axel Dörfler
fc50522937 Added a small test application to see how event masks are working.
Notice the doubled key events in case the upper right BTextControl with
B_KEYBOARD_EVENTS has focus in BeOS...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 11:01:42 +00:00
Rudolf Cornelissen
ca30e3fb9d added recognition for 9 more cards: NV40, NV41, NV43 and NV47 (G70) types.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 10:38:49 +00:00
Rudolf Cornelissen
f6d1fe415e added recognition for 9 more cards: NV40, NV41, NV43 and NV47 (G70) types.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 10:38:30 +00:00
Jérôme Duval
05aad4ff04 added midi libs and server
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 09:04:03 +00:00
Ingo Weinhold
df23b0271e Corrected the sizes of the text and data segments reported to the
kernel. They are now the sizes of the allocated areas, which might be a
bit more than the actually used size, but at least they are not
potentially less, as they were before. This could have unexpected
effects like the Tracker not finding its resources... 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 00:27:42 +00:00
Nathan Whitehorn
9839134738 Made FreeBSD a valid build platform by setting FreeBSD to define buildplatform=linux.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 00:02:56 +00:00
Ingo Weinhold
93aeb8c3bc Added small app testing throwing/catching of exceptions beyond shared
object bounds.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 21:34:32 +00:00
Ingo Weinhold
54fc29e319 gcc 4 fix. White-space after a \ character at the end of a line is
ignored and the line concatenated with the next one -- making it a
comment, too. Either a bug or a newly implemented feature.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 21:31:34 +00:00
Ingo Weinhold
3d5caf598e Fixed gcc 4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 20:56:35 +00:00
Ingo Weinhold
aeef8a1098 Reverted to the previous version. I was too quick; the boot loader
doesn't link against libsupc++ and still needs the symbol.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 20:51:17 +00:00
Jérôme Duval
5412911f7f added some x86 glibc functions (more to come)
we might miss some wrappers for some ieee754 functions (to check)
hope nothing is broken


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 18:33:51 +00:00
Ingo Weinhold
9b2e76121b No need to define __cxa_pure_virtual. We're linking against libsupc++ anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:35:41 +00:00
Axel Dörfler
128ddaa3e3 Some work on the input_server:
* Rewrote event handling: instead of writing every single device message to
  the event port, they are just queued in a list, and the event loop is only
  notified if necessary (ie. if a notification has been sent already, new
  events are just queued up until the input_server found the time to process
  them).
* This also fixed a big memory leak: every message processed by EnqueueDeviceMessage()
  (IOW every key or mouse event) was leaked!
* no longer abuses gInputMethodListLocker to lock the method event queue
  (it now uses the standard event queue lock).
* removed the completely superfluous, weird and decelerating event caching mechanism
* tried to find a better distribution of work between _SanitizeEvents(),
  _MethodizeEvents(), and _DispatchEvents().
* HandleSetMousePosition() now only does what it's supposed to do (this currently
  causes the mouse to jump at the start, though).
* now uses the "Message4" for message sending if available.
* fixed "kb_mouse_settings.h" to include all headers it needs.
* some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:25:58 +00:00
Ingo Weinhold
6d865282d4 Link the kernel against libsupc++.a -- we're using RTTI after all. Added
missing symbols to kernel_cpp.cpp.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:25:54 +00:00
Ingo Weinhold
37d96a4c63 Made gcc 4 proof.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:23:54 +00:00
Ingo Weinhold
9cc1e772dc More debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:22:55 +00:00
Ingo Weinhold
f3d8bb347a Default Key_map was misplaced.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:11:44 +00:00
Axel Dörfler
589f2f5a7f Made it a bit clearer how settings parsing works in the kernel, so that Ingo
hopefully doesn't see the need to "fix" it anymore :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:06:44 +00:00
Axel Dörfler
10fbb5f7fd The driver settings in the boot loader overwrote the settings for later kernel use;
they could not be parsed again by the kernel, and thus, safemode was not working
anymore (as it was queried by the SMP stuff).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:01:45 +00:00
Ingo Weinhold
d4637d3200 Fixed line breaks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 15:48:17 +00:00