Commit Graph

2289 Commits

Author SHA1 Message Date
DarkWyrm
e67e7dd995 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
2005-06-15 17:20:17 +00:00
Stephan Aßmus
cf5ff0c0d0 fixed memory corruption in the stuff I added to moreUTF8. This fixes GetEscapement crashes. The rest of the file needs reviewing as well, but I wanted to commit this ASAP
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 17:09:00 +00:00
Axel Dörfler
b7e162e93a We definitely don't need the FIX_FOR_4_6, whatever that was about.
Also restored the original locations of the class members I broke before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 22:12:32 +00:00
Axel Dörfler
62bb447ee0 In order to be binary compatible, one should not change the location
of private members if the class has friends (and BWindow has a lot of
them...), stupid Axel!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 22:04:29 +00:00
Axel Dörfler
dd10337fd0 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
2005-06-14 21:28:56 +00:00
Axel Dörfler
43ed6aa0db The "shebang" handler is supposed to parse arguments, too - we now do that.
Also, when the line is too long, E2BIG is returned.
Thanks to Korli who pointed me to this: http://homepages.cwi.nl/~aeb/std/shebang/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 12:39:06 +00:00
Axel Dörfler
be22452f3b Apparently, both load_image() and exec*() support running scripts. We do that
now as well.
Also, both functions will now test if the executable exists and is valid; that
way, load_image()/exec*() can catch many errors without having to create a new
team (or erase the current one - an exec*("my invalid app") might now return
with an error).
The runtime linker now exports a function to test executables that is aware
of the search paths, and will also check user permissions upfront.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 11:23:29 +00:00
Axel Dörfler
b84688be5f Added a basic low memory handler service.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 13:03:54 +00:00
Axel Dörfler
b1a248305b Minor cleanup, changed return type of page count functions (from addr_t to size_t,
as that's more correct).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 13:02:24 +00:00
Axel Dörfler
a69e0ac327 The boot item list was not initialized; this was no problem, though, as
no items can be removed from that list - nevertheless, it's wrong.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 13:01:13 +00:00
Stefano Ceccherini
8f9d0f685d Removed unused stuff
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-12 14:48:49 +00:00
Stefano Ceccherini
941cf68a79 this looks like the right time to remove this...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-12 14:47:26 +00:00
Axel Dörfler
183dee22cb Unlike R5, receive_data() could return an error code under Haiku - this
can now only happen if the thread is killed.
_user_receive_data() will now longer pass B_CAN_INTERRUPT to receive_data(),
but B_KILL_CAN_INTERRUPT - this should fix the problem Stefano experienced
with this function, even if I couldn't reproduce it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-12 11:14:37 +00:00
Stephan Aßmus
9851ab5c1e The Haiku Logo is displayed on the Desktop. :-) Of course this will be removed as soon as Tracker runs. If you don't want it, you can disable it in RootLayer.h. Fixed a clipping bug with text rendering.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-11 13:00:17 +00:00
Adi Oanca
9080b4b47c viewColor, background and overlay bitmaps are not part of a view graphics state anymore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 16:05:34 +00:00
Adi Oanca
15409bba6e added a todo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 15:55:49 +00:00
Stefano Ceccherini
ddf2e6ea5f Removed unused message codes. Added a TODO item
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 15:35:43 +00:00
DarkWyrm
fda4af2667 Forgot to check this in. Added a code for _set_system_font()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-09 16:11:15 +00:00
Axel Dörfler
3ba7d6f350 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
2005-06-08 13:24:40 +00:00
Axel Dörfler
bd28b3c746 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
2005-06-08 04:01:59 +00:00
Axel Dörfler
75936a02e4 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
2005-06-08 00:36:26 +00:00
Axel Dörfler
750b92faf3 Almost rewrote LinkMsgSender; it's now much cleaner and works better:
- StartMessage() can now get a size to make sure there is enough free space
- if StartMessage() is called with the current message behind a certain
  watermark, the buffer is flushed in order to prevent moving around messages
  in the buffer. The actual value should be tested in real life, though.
- enlarged maximum buffer size to 64k
- fixed bug: could use memcpy() to move overlapping memory around
- added a flag to Flush() that marks messages as needing a reply - the other
  way would be to mark the message "code" to contain this information

Some cleanup in LinkMsgReader.
BPortLink now has most methods as inlines.
The buffer sizes are now declared in a shared header, so that receiver and
sender are always equipped equally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 22:36:03 +00:00
Stefano Ceccherini
7475dcdf3a 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
2005-06-07 21:32:24 +00:00
Stefano Ceccherini
88da217a0b Added a header with menu actions defines
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 13:34:50 +00:00
Stephan Aßmus
442992bf26 fixed some pretty bad bugs that prevented menus from working (they now do): The BMessage* in AddShortcut is taken in responsibility by the BWindow, so we cannot directly use the message from BMenuItem, the be_app was locked in InitData but never unlocked, it fixes BMenus only working once, and who knows what else it fixes. A little cleanup with _BCmdKey usage, also note that it is inefficient to RemoveItem()s from a list in the destructor of any class using a BList as data container! Simply delete the items and be done with it. The BList destructor will take care of the rest and free its storage in one go.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 13:19:28 +00:00
Axel Dörfler
e17b33e56b The window was removing the app_server connection too early, and thus hang in Quit().
Removed the stopConnection() method.
Cleaned up header a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-05 18:57:55 +00:00
DarkWyrm
2e1184a6e4 Undid a change from r12937 to fix building libbe.so
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-05 01:15:26 +00:00
Axel Dörfler
851fc4f198 Private class BAppServerLink now has a global locker, instead of
(ab)using the BApplication lock to synchronize messaging.
Also, it now has one global reply port, that is created on demand,
but never freed - hope this doesn't cause any other trouble.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-04 17:16:49 +00:00
Axel Dörfler
a01d14b2db Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-04 15:15:42 +00:00
Stephan Aßmus
c10a3393e2 huge BSlider cleanup, it doesn't use an offscreen bitmap anymore by default (compile time switch), updated drawing for Haiku features and disabled look, work in progress
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:57:34 +00:00
Stephan Aßmus
0c3344f4a1 no Invalidate in BControl::SetValue, I figure more controls need to be updated for this change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:55:49 +00:00
Stephan Aßmus
59345e264f huge cleanup, support for SetSizeLimits, support for truncating strings, numerous decorator bug fixes, Layer does not draw when view color is B_TRANSPARENT_COLOR, cleaner dispatching of mouse events to the WinBorder in RootLayer, commented the char map selection in the font server, as it seems glyph lookup by unicode index works much better with the default map
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:50:30 +00:00
Stephan Aßmus
7aca21e6bf added const to some operators
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:31:26 +00:00
Stephan Aßmus
11f97ed147 large cleanup, should have fixed some memory leaks too
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:30:32 +00:00
Stefano Ceccherini
59cbc87ad8 RegionSupport accepts, as parameters, references to BRegions (consts when possible) instead of pointers. Note: this is not a functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 08:34:08 +00:00
Axel Dörfler
80f6ef8bd8 Moved load_driver() and load_driver_symbols() over to devfs.
Added new devfs_add_driver() function that the device manager will now call
to register new drivers.
Devfs will now keep a list of known drivers and remembers, if they have
been initialized already - a driver can now safely scan the directory it's
in while being scanned itself without having its hooks called twice.
Devfs is now using a recursive lock instead of a mutex (that's not really
a requirement right now, but would allow us to keep the fs lock during
scanning).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-02 18:32:21 +00:00
Stefano Ceccherini
1d95a5ff3a Renamed the private BScrollBarPrivateData class to be an internal BScrollBar's class
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-31 12:58:08 +00:00
Axel Dörfler
c88974d026 The app_server now updates the kernel's blue screen frame buffer on mode changes
(only the accelerant HW interface does this for now).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 20:23:00 +00:00
Axel Dörfler
f33c8020e2 Removed debug/console.c, we no longer need it. frame_buffer_console_init() is now
called by debug_init_post_vm().
Since the availability of a blue screen specific getchar() is static anyway, there
is no need for the sBlueScreenGetChar variable (only the message "only serial input
available" gets lost, but since that is platform specific anyway...).
Hello blue screen! We now have an on-screen KDL, to be enabled by the kernel
setting "bluescreen", just like on BeOS.
The blue screen does not yet support any cursor actions or backspace, though (need
to grab some stuff from our console driver).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 16:23:00 +00:00
Axel Dörfler
2b8d85854d Renamed arch_dbg_console.c to arch_debug_console.c, dbg_console.h to debug_console.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 13:31:15 +00:00
Axel Dörfler
eca3ada99b Removed some unused old headers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 13:29:55 +00:00
Axel Dörfler
9a63135f7c Cleanup of the debug stuff, prepared for blue screen debugging.
kernel_debugger() didn't do enough before; panic() did all the work - but
since the former is a public function as well, I moved all the functionality
to it. Also fixed a possible buffer overrun in panic().
Renamed dbg_* to debug_*.
"serial_debug_port" setting did not ignore negative values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 13:01:38 +00:00
Axel Dörfler
b2c1ecd640 Added patch originally written by Ingo Weinhold:
- extended libdebug.so functionality to be able to get stack frames,
  current instruction pointer, etc.
- changed the debug_server to be able to run as a simple BLooper - this
  saves some trouble when the app_server dies
- the debug_server now prints out a stack crawl for the crashed team
  (without symbols, though - for that data to be helpful you should
  have a look at the loaded images (ie. where they start))
- the debug_server now also prints the team name when it kills it


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 00:44:51 +00:00
Rudolf Cornelissen
b602e341ca added bool for engine AGP/PCI transfer selection to shared_info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 19:50:58 +00:00
Rudolf Cornelissen
e8f7b5623e updated shared_info once more for DMA cmdbuffer in main mem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 11:42:16 +00:00
Rudolf Cornelissen
9c9a94038a modified shared_info for mainmem DMA command buffer use.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 09:31:12 +00:00
Axel Dörfler
e5b4782b4e Made some necessary enhancements to class Screen; the app_server also
has to care about refresh rates. Also changed Screen::GetMode() (formerly
Resolution()) to return all interesting values, so that hopefully no one
will call it anymore like RootLayer::SetScreens() did.
Greatly improved the horrible RootLayer::SetScreens().
The app_server is now able to deal with failing HWInterface::SetMode() calls;
in this case, it will fall back to the hardware's current mode. This now
also works correctly in combination with the vesa driver, so that you don't
have to compile the app_server with the same resolution you boot in anymore.
SetMode() now always returns if it succeeded or not.
Renamed RootLayer::fScreenXYResolution to fScreenWidth/Height respectively.
Removed the useless DisplayDriver::DisplayMode() method.
Added B_GET_DISPLAY_MODE to the required accelerant hooks.
Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 09:21:51 +00:00
Axel Dörfler
18b6200e54 Enlarged the kernel heap to 16 MB.
This will keep it alive longer until a) the block cache no longer
uses the heap, and b) we get a better heap without a fixed size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 09:11:30 +00:00
Axel Dörfler
d260b2c469 Made the header C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 09:08:54 +00:00
Axel Dörfler
09b83e5cec Removed the obsolete byteorder.h header (it just included ByteOrder.h).
Fixed the remaining references to that header in our repository.
Note, this might break source compatibility - please update your sources :-)
Slightly converted UBS_audio_utils.c to use our style guide while I were at it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 08:12:59 +00:00