Commit Graph

17956 Commits

Author SHA1 Message Date
Stefano Ceccherini
702e4be807 Moved all TermView initializing code into TermView itself. Before you
couldn't just rely on its constructor to fully initialize the object, 
since the code was scattered around, mostly into TermWindow. Added a 
commented out TermWindow constructor which only creates and adds a 
TermView object to the view hierarchy, which now works.
Removed weird TermWindowActivate method, use WindowActivated 
instead. TermApp can now keep a pointer to a BWindow instead of 
TermWindow, since it doesn't do anything special with it. 
TermView::SetTermFont() now can filter the font attributes (it uses 
B_FIXED_SPACING, I'm not sure it's needed but it doesn't hurt). Usual 
cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-25 09:50:34 +00:00
Ingo Weinhold
92b8ea1d44 Write support for the Intel partitioning system module. Courtesy of
Tomas Kucera.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-24 22:27:57 +00:00
Jérôme Duval
96cf4bfb88 should fix bug #1328, how could this be not noticed until now ...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-24 19:34:30 +00:00
Stefano Ceccherini
abc4720231 Moved cursor blinking functionality from TermParse into TermView (and
from a BMessageRunner into Pulse()). Removed more unused stuff. 
Moved around some constants and definitions. Many style changes. Sorry, 
I know the two should be separated, but I had already done so many changes...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-24 12:18:24 +00:00
Michael Pfeiffer
3b5c41fb0c Fixed issue #1313 (2 kind of printer icons).
For the selected printer the Printers preflet icon was used.
For not selected printer the Printer filetype icon is used.
The change of the Printers preflet icon to the vector format changed its appearance, so the two did not match anymore.
Using the Printers preflet icon for the selected printer is a sub-optimal solution.
Now the selected printer icon is created at runtime. 
A check mark bitmap is drawn over the "not selected" printer icon.
Someone feel free to create a version in vector format of that bitmap.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-23 18:10:13 +00:00
Michael Pfeiffer
3b43a2baf2 Updated copyright year
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-23 16:23:43 +00:00
Axel Dörfler
528e58c58e Fixed debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-23 00:52:07 +00:00
Axel Dörfler
965b10ccaa * Fixed build under BeOS/Dano (only tried the latter, though).
* Does anybody know why HaikuBuildCompatibility.h is not included for tools when
  compiled on BeOS/Dano?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-23 00:15:45 +00:00
Axel Dörfler
6a05ab0186 My ClientMemoryAllocator implementation wasn't complete and badly leaked memory.
It now at least frees all memory when the object is deleted. Reported by Jonas - thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 23:50:34 +00:00
Stephan Aßmus
5286819920 * last commit broke rendering dots (though it should have been just more
work and no visual change... don't know why) -> fixed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 20:04:14 +00:00
Stephan Aßmus
38287e02af * completed my changes to DrawState handling, the current DrawingState
of the active ViewLayer is now always mirrored in the Painter instance
  of a ServerWindow, so that it doesn't need to be synced on every drawing
  command, this was previously incomplete for font handling
* removed the DrawState parameter from all the DrawingEngine functions
* adjusted ServerWindow and ServerPicture accordingly
* made sure that string related functions used by non-drawing related
  parts (ServerApp, Decorator) don't interfere with the current drawing
  state
* moved AS_SYNC handling from _DispatchViewMessage to _DispatchMessage,
  it is actually a window message and doesn't require fCurrentLayer to
  be valid
* fixed bug #1300, fCurrentLayer was not updated when a ViewLayer was
  deleted by client request which happened to be fCurrentLayer (I am now
  handling it so that the parent becomes the current layer, could be
  wrong)
* AGGTextRenderer is no longer using it's own scanline, which should save
  a few bytes RAM, the Painter already had such an object
* StringWidth() in AGGTextRenderer is now taking the escapement_delta into
  account
* Painter::StrokeLine() doesn't need to check the clipping as much, since
  that is already done in DrawingEngine
* if a ServerWindow message is not handled because fCurrentLayer is NULL,
  a reply is sent in case the messages needs it (client window could
  freeze otherwise, waiting for the reply for ever)
* removed unused AS_SET_FONT and AS_SET_FONT_SIZE
* added automatic RGBColor -> rgb_color conversion to RGBColor.h
* minor cleanup for 80 char/line limit



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 19:48:27 +00:00
Stephan Aßmus
d069bd6917 * small correction in error handling code path
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 19:33:08 +00:00
Stephan Aßmus
6f867cc1de * rearranged includes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 19:29:56 +00:00
Stephan Aßmus
7223defe3f * removed unused function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 13:34:54 +00:00
Stefano Ceccherini
6fbf283fb5 Fixed a bug where Terminal couldn't set itself to fullscreen the first
time. Some minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 13:26:17 +00:00
Stefano Ceccherini
ac3a8f5446 Made all CodeConv methods static, since there was no point for them to
be nonstatic. Moved TermParse under Shell, Removed some parameters 
passing around from TermWindow/TermView/TermParse. Now TermParse threads are 
started when the shell is attached to a TermView. Might still be 
improved.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-21 20:50:06 +00:00
Stefano Ceccherini
0ed5650b01 Got rid of TermBaseView
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-21 19:56:55 +00:00
Stefano Ceccherini
90c6c3e8a4 Sorry, the previous commit also contained broken WIP stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-21 19:22:53 +00:00
Stefano Ceccherini
0d32d905e9 Minor cleanup, Updated some copyrights
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-21 19:11:41 +00:00
Stephan Aßmus
779b52e5d0 * fix some issues with line placement, now it should be as close to R5
as possible without unacceptable overhead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-21 16:06:22 +00:00
Stephan Aßmus
1255bc6988 * added copyright for BRegion backend implementation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-20 11:16:04 +00:00
Axel Dörfler
85b65f7585 The AttributeIterator was returning the size of the attribute data rather than
the length of the attribute name in GetNext() for attributes that are actual
inodes. Found by Robert Szeleney, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-20 10:45:04 +00:00
Axel Dörfler
9a766e16a7 * Fixed Haiku build over here (no such thing as BEOS_NAME_LENGTH defined here)
* Did anyone see the coding style violations in this file??? :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-20 00:31:48 +00:00
Ingo Weinhold
6d1c68155a axeld + bonefish:
* More conditional debug code (wrt page transitions between caches).
* Replaced debugger command cache_chain by a nicer cache_tree.
* While handling a soft fault: When we temporarily unlock a cache, it
  can theoretically become busy. One such occurrence is now handled
  properly, two more panic() ATM, though should be fixed.
* When merging caches, we do now always replace a dummy page in the
  upper cache, not only when the concurrent page fault is a read fault.
  This prevents a page from the lower (to be discarded) cache from still
  remaining mapped (causing a panic).
* When merging caches and replacing a dummy page, we were trying to
  remove the dummy page from the wrong cache (causing a panic).

The Haiku kernel seems now to run shockingly stable. ATM, we have more
than two hours uptime of a system booted and running over network. We
didn't manage to get it down by fully building Pe, downloading, unzipping,
and playing with various stuff. Someone should finally fix all those app
server drawing bugs, though (hint, hint! ;-)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 22:52:23 +00:00
Ingo Weinhold
fd0831b98d axeld + bonefish:
Fixed off-by-one error in the b+ tree code splitting a node, which could
result in a read beyond the block bounds thus causing a page fault. Was
nicely reproducible when unzipping big archives. Now bug #1003 seems to
be fixed for real.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 21:55:05 +00:00
Ingo Weinhold
ead2a0814c * Fine-tuned timeouts.
* Also eat B_INTERRUPTED on sendto()/recvfrom(). The net stack is
  interruptable in principle, but our disk device operations shouldn't.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 21:46:19 +00:00
Ingo Weinhold
fec9ab5d63 More informative output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 21:43:22 +00:00
Axel Dörfler
95163879aa The AutoMounter now also compiles for Haiku again, sorry!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 18:14:38 +00:00
Stephan Aßmus
ed2254308b * just realized a bug already when reading over the commit log...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 17:16:54 +00:00
Stephan Aßmus
582da17386 * complete reimplementation of BRegion and it's backend
I "ported" the region implementation from XOrg to work on BRegion data.

This resulted in pretty much the same code structure as before, with 
RegionSupport.cpp containing the messy details. Only now it _is_ really messy
from a code beauty point of view. I didn't exactly feel like cleaning it
up right now... but I guess I will have to.

So what does this mean - our BRegion implementation was very slow (no offense!),
and on top of that it scaled very badly with more and more rects. The new
implementation seems to be on par with the very fast R5 implementation and
the data looks exactly the same too. BRegion is very performance critical
for the app_server, and I cannot wait to try this on my slow computer...

Some changes are noteworthy: The right and bottom coordinates of
BRegion internal data are now exclusive! I inherited that from the
XOrg implementation and didn't feel like changing the code, seeing it
is probably tested quite well. The conversion is handled transparently.

Secondly, constructing a BRegion with just one rect is not invoking
malloc anymore for the member data, this makes it much more efficient
to use temporary BRegions with just one rect, both externally and internally
in the BRegion implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 17:06:28 +00:00
Ingo Weinhold
89369ed1ab axeld + bonefish:
* Increased network timeouts. A single lost ARP request would cause
  finding the server to fail.
* Consequently set the sockaddr_in::sin_len field.
* Added write support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 14:11:56 +00:00
Ingo Weinhold
f4da50b768 Computed the netmask in net endianess. The wrong netmask caused
misrouting when the net server set up the loop device, thus stopping the
net boot process.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 13:58:17 +00:00
Ingo Weinhold
210ea8a561 axeld + bonefish:
Answered Travis question. We save the registers from the exception
causing the double fault in the double fault iframe, since otherwise it
would contain only completely unusable values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 13:55:56 +00:00
Ingo Weinhold
b17ea3a37c axeld:
Calm down ARP tracing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 13:39:30 +00:00
Ingo Weinhold
bd03cdc1f6 axeld:
Don't print a message that couldn't be written to the syslog to stdout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 13:38:12 +00:00
Ingo Weinhold
9c31fe7e21 Implemented emulating write_pages() using the write() hook.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 13:35:53 +00:00
Ingo Weinhold
6a2dfcbd88 Fixed debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 13:34:42 +00:00
Ingo Weinhold
fe679b9fa7 axeld+bonefish:
* Refactored RescanDiskSystems(). Pulled out a function
  _RescanDiskSystems() that scans for either file or partitioning
  systems. RescanDiskSystems(), which scanned for file systems only
  before, is used from the constructor as well (open_module_list()
  works in the early boot process since a while).
* Made InitialDeviceScan() and partition scanning safe to be called a second
  time. We call it directly after the kernel has mounted the boot
  volume, now, so that additional disk systems from the boot volume have a
  chance to recognize previously unrecognized partitions. This is a
  temporary change only; later the disk device manager shall
  automatically find out when new disk systems/devices/whatever are
  available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 13:32:33 +00:00
Ingo Weinhold
17a5219dba bonefish+axeld:
When loading the driver settings the defaults don't override the
previous variable values anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 13:16:08 +00:00
Axel Dörfler
c16182bfe8 Tracker now also restores the previously opened windows from volumes that were
mounted later by the AutoMounter's initial mounting loop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 12:52:50 +00:00
Ryan Leavengood
5f43b49ba0 When I added my BuyNow screen saver to the image and ran it, the app_server
crashed. Turns out a call I use, BFont.GetBoundingBoxesForStrings was not 
implemented, and worse, there was bug in how the ServerApp read the parameters
from the link. This was easy to fix to stop app_server from crashing, but it 
took me a while to figure out how to implement GetBoundingBoxesForStrings.

Anyhow I implemented an initial version which works fairly well for now. I
don't think the width is quite right, but it seems to match StringWidth(), so
I guess it is good enough for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 02:06:32 +00:00
Ryan Leavengood
62c65a7fb2 Use constant for length of file suggested by Ioan Molnar.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 01:16:23 +00:00
Stephan Aßmus
eb9f93f347 * cleanup, removed use of pointers and allocations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 17:02:44 +00:00
Stephan Aßmus
6369b909b2 * fix comment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 17:02:03 +00:00
Stephan Aßmus
33ab66d539 * check the overlay of the child being removed, instead of the view's own
overlay (Axel please review)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 17:01:34 +00:00
Stephan Aßmus
41b487e43c * accidentally left the profiling on in last commit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 13:22:26 +00:00
Stephan Aßmus
67f3be42b0 * added ProfileMessageSupport.h/cpp to translate server message codes to
a string
* fixed profiling of message processsing in ServerWindow (didn't take batch
  processing into account)
* accelerated ViewLayer::RebuildClipping() by a factor of two by avoiding
  BRegion::Exclude(clipping_rect) for each child, and instead building
  one region with all children, and excluding that. RebuildClipping() is
  quite a common operation and is quite slow for views with many children


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 12:59:05 +00:00
Axel Dörfler
0379077f09 * init_double_fault() accidently initialized the wrong TSS for the handler (the regular
one, not the one intended for the double fault) since r20131. IOW double faults are
  now working again.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 12:40:38 +00:00
Stephan Aßmus
da819d069e * performance optimization, getting the bounding box of a text is about 10%
faster


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 12:29:44 +00:00
Stephan Aßmus
0896fce5fb * since every window has it's own Painter instance, the drawing state does
not need to be "set" (transfered from the "current" view to the painter)
  for each singly drawing command. Now, painter is synchronized whenever
  the client changes the drawing state of the current view, or when the
  current view changes.
* the screen offset of the current view has become part of the Painter state,
  in the PatternHandler. This fixes a bug in which moving or scrolling a view
  which used patterns for drawing, resulted in visual glitches (seams in the
  pattern).

NOTE: this patch is a bit work in progress, most importantly, it is not
complete with regards to text rendering. More specifically, the server
applications and other parts of the appserver might set a font on the Painter
and this might mess up the synchronization. But this happens on the Desktop's
Painter instance (only?), and so it is not a problem. I did observe some
drawing bugs with this patch though, so bug reports are welcome, particularily
how to reproduce these bugs reliably.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 09:35:40 +00:00
Axel Dörfler
58f6e8e5e4 * Merged vm_cache_ref and vm_cache to a single structure (Axel & Ingo).
* Renamed vm_cache.c to vm_cache.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 00:16:27 +00:00
Axel Dörfler
1296365693 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 23:40:41 +00:00
Stephan Aßmus
0794971822 * one can now specify and "offset" which will be taken into account when
looking up the color in the pattern, this is needed because before,
  patterns were always drawn with the virtual origin in screen coordinate
  space, but they need to be drawn with view coordinate origin taken into
  account (will be implemented in a forthcomming commit)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 20:52:47 +00:00
Stephan Aßmus
5fdc05c105 * make sure that the 80 chars per line limit is not exceeded
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 20:48:54 +00:00
Stephan Aßmus
fd5d46e099 * separated FontStyle and FontFamily into different .h/cpp, before they shared
FontFamily.h/cpp (just for the reason that this is how we do it mostly
  everywhere)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 20:48:06 +00:00
Michael Lotz
7ca97e3548 Patches by Salvatore Benedetto to fix changes made by me and also the underlaying problem that caused high CPU usage in the isochronous finisher thread. Also includes patches to support isochronous support through USBKit / usb_raw. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 20:00:53 +00:00
Stephan Aßmus
c65e90b36c * fixed build of libbe_haiku.so on BONE compatible hosts
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 19:54:38 +00:00
Stefano Ceccherini
e68a9aeca5 return errno when open() fails
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 11:46:47 +00:00
Stefano Ceccherini
892bf0d5fd fixed a warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 09:50:06 +00:00
Stefano Ceccherini
894e5a26d3 Renamed a variable to fit our guidelines. Removed typedef
from UTF8WidthTbl.c. Use typedef from SupportDefs.h instead


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 09:42:34 +00:00
Stefano Ceccherini
12999e13de Removed unused files
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 09:19:02 +00:00
Stefano Ceccherini
dc25fe8173 Got rid of gTermPref by adding some static methods to PrefHandler.
The font size menu wasn't up to date with the current settings. Fixed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 09:14:44 +00:00
Stefano Ceccherini
37b209af04 Renamed spawn.cpp/h to Shell.cpp/h and updated the other source files to
take this change into account


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 08:04:36 +00:00
Stefano Ceccherini
f3d05c8b3a Encapsulated low level terminal stuff into a Shell class, which also
supersedes spawn_shell(). Removed window parameter from TermParse. Since 
we already have a pointer to the view, we just call Window() on it (only 
used in one place, no need to save a pointer). Other cleanups. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 07:58:37 +00:00
Jérôme Duval
ec9f5ea799 fixed ppc build. It was broken since r21611. Obviously it's not tested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-16 19:12:37 +00:00
Jérôme Duval
d57634f732 the keymap is now saved when key locks or key modifiers are changed
this fixes bug #1282


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-16 18:40:32 +00:00
Ingo Weinhold
1fa400cd92 The partition offset is int64, of course, not bool. Sometimes one wishes,
C++ had a stricter typing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-16 15:06:02 +00:00
Axel Dörfler
3a199128de * Now checks if the BootMethod allocation succeeds.
* Minor cleanup, reordered header files to go from private/local to public/global.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 23:51:21 +00:00
Jérôme Duval
0de9b61d51 updated mesa to 7.0
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 22:28:49 +00:00
Jérôme Duval
2ff0a95e11 work from JiSheng Zhang : fwcontrol with firewire headers from FreeBSD current. Thanks!
clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 17:43:02 +00:00
Axel Dörfler
bd1877933f remove_vnode() will now return an error code if the vnode to be removed did not exist.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 12:38:13 +00:00
Ingo Weinhold
f29a0687cf We were leaking a module reference.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 02:29:00 +00:00
Ingo Weinhold
951d99dacb This one slipped. Added remote_disk driver to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 02:13:00 +00:00
Ingo Weinhold
9e8dc2a9bb [Sorry, couldn't split this one up any further.]
* Images preloaded by the boot loader had to be modules to be of any use
  to the kernel. Extended the mechanism so that any images not accepted
  by the module code would later be tried to be added as drivers by the
  devfs. This is a little hacky ATM, since the devfs manages the drivers
  using a hash map keyed by the drivers inode ID, which those drivers
  obviously don't have.
* The devfs emulates read_pages() using read(), if the device driver
  doesn't implement the former (all old-style drivers), thus making it
  possible to BFS, which uses the file cache which in turn requires
  read_pages(), on the device. write_pages() emulation is still missing.
* Replaced the kernel_args::boot_disk structure by a KMessage, which can
  more flexibly be extended and deals more gracefully with
  arbitrarily-size data. The disk_identifier structure still exists,
  though. It is added as message field in cases where needed (non net
  boot). Moved the boot_drive_number field of the bios_ia32 platform
  specific args into the message.
* Made the stage 1 PXE boot loader superfluous. Moved the relevant
  initialization code into the stage 2 loader, which can now be loaded
  directly via PXE.
* The PXE boot loader does now download a boot tgz archive via TFTP. It
  does no longer use the RemoteDisk protocol (it could actually be
  removed from the boot loader). It also parses the DHCP options in the
  DHCPACK packet provided by PXE and extracts the root path to be
  mounted by the kernel.
* Reorganized the boot volume search in the kernel (vfs_boot.cpp) and
  added support for network boot. In this case the net stack is
  initialized and the network interface the boot loader used is brought
  up and configured. Since NBD and RemoteDisk are our only options for
  net boot (and those aren't really configurable dynamically) ATM, the
  the boot device is found automatically by the disk device manager.

Booting via PXE does work to some degree now. The most grievous problem
is that loading certain drivers or kernel modules (or related activity)
causes a reboot (likely a triple fault, though one wonders where our
double fault handler is on vacation). Namely the keyboard and mouse input
server add-ons need to be deactivated as well as the media server.
A smaller problem is the net server, which apparently tries to
(re-)configure the network interface we're using to boot, which
obviously doesn't work out that well. So, if all this stuff is disabled
Haiku does fully boot, when using the RemoteDisk protocol (not being
able to use keyboard or mouse doesn't make this a particular fascinating
experience, though ;-)). I had no luck with NBD -- it seemed to have
protocol problems with the servers I tried.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 02:10:15 +00:00
Ingo Weinhold
018cf36396 Clear out/initialize IDT and GDT using their virtual addresses after
they have been mapped. The previous method relied on their physical
pages living in the identity mapped region, which they wouldn't, when
the boot loader allocated enough memory before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:54:16 +00:00
Ingo Weinhold
119c6cdd0b Use the AutoLocker defined by the super class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:49:04 +00:00
Ingo Weinhold
bf8e5ecab7 * Reduced the region allocated for the uncompressed data to 16 MB. With
32 MB the kernel's VM initialization code would run into trouble.
  Accessing freshly mapped memory in the generic page mapper would
  result in a page fault. To be investigated.
* Apparently in the boot loader the file systems are responsible for
  resolving symbolic links (instead of the VFS). We do that now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:45:10 +00:00
Ingo Weinhold
3532662e0c Added RemoveLeaf() leaf method. Very handy for recursive directory
iteration code using a single KPath object.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:34:17 +00:00
Ingo Weinhold
dad631290c * Made header includable by C code. In this case a KMessage structure
with the same size as the class is defined.
* The SetTo() methods do now accept an unspecified (negative) bufferSize
  in case of being told to initialize from the given buffer.
* Added handy Get*() methods returning a field element value or a
  supplied default value, if the field element doesn't exist.
* Added also handy Set*() methods setting the value of first element of
  a field, i.e. adding it, if it didn't exist before, otherwise
  replacing the old value. Only for fixed size types.
* Moved _FindType() inline template method into the header.
* Made the source file fit for use in the boot loader. If the macro
  KMESSAGE_CONTAINER_ONLY is defined, the message sending/receiving part
  is omitted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:32:37 +00:00
Ingo Weinhold
7ba3142d97 Kernel driver my home-brewn remote disk protocol. I actually intended to
remove it completely, but I had no luck with the NBD driver. :-/



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:13:14 +00:00
Ingo Weinhold
1485d7a2d7 Added small tool source_to_data, which takes an arbitrary data file and
generates a C source file defining an array variable containing the file's
data. DataFileToSourceFile is the respective jam rule.

The idea is to directly built the boot archive into the boot loader for
network booting (and thus avoiding to download it from somewhere). In
case of PXE this doesn't work, though, due to restrictions to the size
of the NBP. Maybe Open Firmware is less restrictive.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:04:27 +00:00
Stefano Ceccherini
2b0f12f79e Moved spawning the shell from TermApp to TermWindow
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-13 11:27:59 +00:00
Stefano Ceccherini
85f69514f4 More style changes, replaced sprintf use with snprintf. Removed unused
variables and code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-13 10:38:58 +00:00
Philippe Houdoin
6a3088c64b Fixed ACPI main module for non-haiku targets:
* On these targets, we must load ACPI's modules dependencies ourself!
* Only the main B_ACPI_MODULE_NAME will work on non-Haiku targets, as
the (work-in-progress?) extra ACPI modules (ACPI_ROOT_MODULE_NAME, ACPI_NS_DUMP_MODULE_NAME,
and ACPI_DEVICE_MODULE_NAME) needs Haiku's Device Manager.
* "cat /dev/power/namespace" was successfully tested on a BeOS R5+Bone system.
* My P5W DH Deluxe-based system have a huge ACPI namespace ;-)
* A graphical ACPI Namespace Viewer will be welcomed (Hint) 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-13 09:33:17 +00:00
Philippe Houdoin
e659b9521f Changed snprintf() (un)availability test from COMPILE_FOR_R5 to
__HAIKU__.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-11 20:35:24 +00:00
Philippe Houdoin
fd836a9165 Fix build on fro non-haiku targets, on which libroot.so lacks
snprintf()...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-11 20:31:23 +00:00
Axel Dörfler
835e31d5a7 Fixed failure return codes as pointed out by Jerome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-09 21:41:44 +00:00
Jérôme Duval
b6bd7e1595 uint32 => addr_t
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-09 20:19:02 +00:00
Stephan Aßmus
4d4ee928bf * work in progress new Network preflet by Andre Garzia (GSoC student)
- can currently display the configuration of a chosen ethernet device


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-09 09:14:25 +00:00
Stephan Aßmus
7b6156a275 * moved network to network_old to make room for new preflet by Andre Garzia
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-09 09:09:33 +00:00
Gerasim Troeglazov
62cee9f9cb update libntfs-3g to 1.616
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-09 04:55:36 +00:00
Jonas Sundström
2c02680d03 Allow removing any Deskbar replicants, by name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 16:29:44 +00:00
Ingo Weinhold
dcb3c6c321 * Added support for symlinks.
* Prepared for other uses than just boot floppies (/CDs). We first try to
  inflate the contents of the given device at offset 0 before using the
  floppy disk offset. This will make it easy to mount tgz files loaded via
  network or built into the boot loader itself.
* Increased the max possible size of inflated data to 32 MB.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 01:49:02 +00:00
Ingo Weinhold
4dac6ac8de Allow building the BootLoaderTest (and zlib) for BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 01:28:04 +00:00
Marcus Overhagen
ad1d8116a6 compile fix, header file for strcmp was missing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:37:11 +00:00
Marcus Overhagen
c41c3f9bca gcc4 compile fix, but C++ predicates are ugly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:36:11 +00:00
Marcus Overhagen
896aa538d4 gcc4 fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:02:12 +00:00
Stephan Aßmus
560e5dfccc * compile fix for ZETA, provided by Ingo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 21:00:27 +00:00
Axel Dörfler
d2d753669d * Renamed "EFI GUID Partition Table" to "EFI GUID Partition Map" to be consistent
with the other partition types.
* Added kPartitionTypeEFI to the constants.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 19:41:47 +00:00
Axel Dörfler
3f8368e223 Made the output of the volume listing more useful: added size, and device information.
size_string() was taken from df.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 19:32:59 +00:00