Commit Graph

21755 Commits

Author SHA1 Message Date
Michael Lotz
57e81ac7d8 Properly initialize the device_hooks in the null and console drivers to include
the select/deselect/readv/writev hooks. Not that it would matter as the static
memory there is cleared to 0 anyway.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 13:37:08 +00:00
Michael Lotz
a47ceb2aec * Only set the select hook on the device module if we actually got a select
hook from the legacy driver.
* Add note explaining why it is set to an arbitrary invalid value (~0) and why
  it still works by redirecting in the virtual Select() of LegacyDevice.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 13:30:56 +00:00
David McPaul
d1b297a928 Implement FindKeyFrame
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 06:38:56 +00:00
David McPaul
bd9b4bd9d1 Implement FindKeyFrame
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 06:38:35 +00:00
David McPaul
1a1204316a Implement FindKeyFrame
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 06:38:04 +00:00
Michael Lotz
61ed28ee13 * All drawing modes except for B_OP_COPY should respect transparent pixels in
source bitmaps. The destination is preserved now when encountering such
  transparent pixels in the source bitmaps.
* B_OP_ERASE is supposed to replace with the low color whereever a source
  bitmap has a non-transparent pixel.
* The B_OP_MIN and B_OP_MAX drawing modes are supposed to select either the
  source or destination pixel based on their brightness, not combine the two
  pixels' color components into a new pixel. The brightness_for() function is
  taken from ColorConversion.cpp in the interface kit. Probably a simpler
  algorithm would do as well.
* Handle B_TRANSPARENT_MAGIC_* in all cases when drawing bitmaps with non-alpha
  source bitmaps, as all modes except B_OP_COPY are sensitive to transparency.

This should make all drawing modes behave as documented in the BeBook. Except
for B_OP_SELECT, which seems broken under R5, the results compare nicely now.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 02:34:15 +00:00
Michael Lotz
3d75dfbb4a Adding a DrawingModes test application that uses the different drawing modes
to draw a bitmap and a B_MIXED_COLORS pattern. This shows that most of the
Haiku drawing modes are off of what the BeBook documents them to be and also
shows that B_OP_SELECT is actually broken under R5.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 02:18:16 +00:00
François Revol
35471ac53e - add fpu states
- add needed asm_offsets
- start of exception handling


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 01:36:52 +00:00
Michael Lotz
00c81869c5 Fix obviously swapped if statement checking for a solid pattern.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 23:51:37 +00:00
François Revol
ffa2f65116 Let's use asm offset instead of hardcoded values...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 23:41:36 +00:00
Ingo Weinhold
0b4dac74e0 * Added kernel tracing for insertion and removal of cache pages (tracing
level 2).
* merge_cache_with_only_consumer() marked the source cache unbusy when
  it was done, which caused a race condition with the page fault code.
  I accidentally introduced this problem in r25716. Fixes #2326.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 21:08:07 +00:00
Michael Lotz
efec339946 Take the source alpha into account when doing a B_OP_INVERT so that drawing
bitmaps in B_OP_INVERT mode does not affect pixels where the source bitmap
was transparent, as noted in the BeBook. Not really sure I'm doing that right
though and probably needs looking into for B_OP_ERASE and B_OP_SELECT too.
Fixes bug #2421 though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 19:38:56 +00:00
Stephan Aßmus
50450a0053 Implemented an AudioReader subclass "AudioVolumeConverter" which applies
a volume to the audio data. It ramps between a previous and the current volume
if necessary to smooth out the changes. The volume slider functionality is
thereby restored.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 18:15:48 +00:00
Michael Lotz
bdc47b1f97 Remove transparent magic handling for B_CMAP8, ImportBits() takes care of that already.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 14:48:06 +00:00
Michael Lotz
f24652cba6 Fix two wrong debug output messages and add one for AS_SYNC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 13:45:58 +00:00
Stephan Aßmus
4e913061bb Make the buffer latency less agressive for Haiku, this makes audio playback
perfect in Haiku for me (HD Audio), while it adds a very noticable latency.
On C-Media, the difference between "policy 4" and "policy 5" is 2048 versus
32768 bytes, which is 16 times the latency. I added a note on why the same
policy on Haiku might give me troubles (C-Media versus HD Audio means
16 bits/sample versus 32 bits/sample) and if OSS does not double the buffer
size then I can see where the trouble is comming from. I should probably
figure out a more fine grained way of influencing the driver buffer size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 13:13:21 +00:00
François Revol
2e314c0993 Fix build for Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 12:49:56 +00:00
Stephan Aßmus
773ead235b Added note about the remaining playback problem for using OSS in BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 12:19:55 +00:00
Stephan Aßmus
d3ebd7843a Victory! With these changes, playback is nearly perfect under BeOS (tested with
C-Media based sound card). In Haiku, I could test with HD Audio, and playback
has clicks. It doesn't seem to have to do with the "drift", which is now
correctly published, I am not sure what exactly is causing it, I would like to
test on different hardware yet.
* I have modified the buffering policy (4 will give about 2048 bytes internal
  OSS buffer), which decreases the latency of the node to an acceptable value.
* I completely replaced the timesource publishing algo to be more reliable.
* Removed now unnecessary methods from OpenSoundDeviceEngine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 12:14:26 +00:00
François Revol
1f5afb2e36 Add to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 12:12:17 +00:00
Stephan Aßmus
188ba2f72a * SetTarget((BView*)NULL) needs to unset the previous target's pointer to
the scrollbar.
* Added notes about BeOS behavior to SetTarget(const char*).
* Reuse SetTarget(NULL) in the destructor.
* Initialize fTarget and fTargetName in the archive constructor.
* Added TODO about possibly restoring the target in the archive constructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 08:39:14 +00:00
François Revol
1e4285015c Better handle incorrect io ranges, it should only be fixed for PC (around 0x3f0).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 00:35:07 +00:00
François Revol
71c84a02ee Rename floppy target to pc_floppy, add to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 23:14:18 +00:00
François Revol
476618a00e Move the floppy driver to disk/floppy/pc_floppy, it will be named pc_floppy, as it handles PC-style controllers, but not only PCs have those, so it doesn't belong to arch anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 23:05:19 +00:00
François Revol
01cf5d4907 Prepare for move.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 23:01:16 +00:00
François Revol
8942de6c0d Make the floppy driver buildable again... even under Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 22:58:15 +00:00
Alexandre Deckner
1c4b7e9e01 - revert my last changes to ScrollBy, this temporarily bring back #2312
and the previously mentioned ResizeToFit issue.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 20:04:10 +00:00
Ingo Weinhold
2fd41f637c Also scroll to the cursor when pasting something.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 12:38:52 +00:00
Ingo Weinhold
644470be68 Use the preferred history size. It's not settable via GUI yet, but one
can edit the settings file. The default are 10000 lines BTW.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 12:35:42 +00:00
Ingo Weinhold
a5e61a10eb Fixed mouse copy'n'paste support. We use a separate clipboard for mouse
selection which we update whenever the first mouse button is released.
This also enables copy'n'paste between Terminals.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 12:22:52 +00:00
Alexandre Deckner
d511a89a8a - Since r21336, BView::ScrollBy was checking the values against the ScrollBar ranges but ScrollBy is often called before
updating the scroll range (ie: in ContainerWindow.cpp). IMO, the programatic ScrollBy method shouldn't depend on the 
ScrollBars ranges or state. The original fix in r21336 was apparently hiding other BScrollBar or BView bugs that have been 
fixed in the mean time.
  The content was offseted when going back to list mode after moving icons on the left/up in icon mode. This fixes Tracker bug 
#2312.

- Revert and fix changes to ContainerWindow.cpp in r18481 (cvs 1.37). The condition was broken, but it wouldn't ScrollBy() 
anyway due to the previous problem. Fixing BView made the content autoscroll even if the lefttop corner of the extent was 
already visible.

- Probably unrelated, fix changes to ContainerWindow.cpp in r18993 (cvs 1.38). PoseView()->Bounds().left/top < 0 is expected, 
if for example in icon mode you move an icon close or crossing the left side of the window and then scroll left to adjust. 
This fix ResizeToFit that wouldn't scroll the view correctly in some cases.

So we had a Tracker Bug uncovering a BView fix that was hiding another Tracker bug, everything is fixed hopefully, phew :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 02:39:33 +00:00
François Revol
04390361b5 - comment
- fix building arch_debug. Misses many regs still.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 02:22:26 +00:00
François Revol
a3dc7ef06c - some cpu and platform fixes.
- we'll just use decimal chip number (68030, ...) to identify cpu, fpu, and mmu for simplicity.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 02:11:45 +00:00
François Revol
7d5d19dfab bviously M68KPlatform makes more sense here :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 01:40:58 +00:00
Ingo Weinhold
769b9b3c40 * Generate the same escape sequence when pressing control or command and
the left/right cursor keys.
* Normalized the Ctrl-<cursor> escape sequences. Makes word navigation
  in vim work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 01:33:18 +00:00
François Revol
194846c6a4 Remove another OF leftover. If we ever support hades or milan we'll add something else there.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 01:24:27 +00:00
François Revol
616c19c359 Remove leftover OF header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 01:23:20 +00:00
François Revol
22531ab80f Fix building the pci bus manager. Still quite stubbed out though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 01:20:29 +00:00
Ingo Weinhold
10a01828a1 The main thread was used as BApplication thread and a new thread as
worker thread. That sounds somehow reasonable, but has the problem that
signals to the process hit a thread that doesn't know how to handle
them. Fortunately the author already prepared the code to switch the
thread tasks. In the Terminal vim does now correctly react on window
resizes. Probably also fixes #2393.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 00:56:05 +00:00
Ingo Weinhold
b43255b9f7 Squashed TODO: When writing a character in the last column of a line we
wrapped to the next line and a subsequent LF would advance another line.
We behave like xterm now, i.e. visually the cursor stays on the same
line (on the last character), but the next character will be wrapped to
the next line.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 00:30:13 +00:00
Ingo Weinhold
f9428b3ecd Also clear the selection when invalidating all.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 22:23:59 +00:00
Ingo Weinhold
1291c38c18 Implemented \ESC[?47h and \ESC[?47l (use alternative/normal screen
buffer). These are the sequences our /etc/termcap uses (local less and
vim use the alternative screen buffer now). The ones already implemented
are used e.g. by the termcap of my Linux installation. A bit weird all
those different termcap files, some even with the same version
number.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 21:10:21 +00:00
Ingo Weinhold
f3c7795744 Also update the cursor on full invalidation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 20:57:35 +00:00
Ingo Weinhold
539903c55b * Added /etc/sysless with settings to make backspace work correctly in
less.
* Added /etc/vim/vimrc. Besides fixing key mappings it also disables
  compatibility mode and adjusts some settings to make using vi a more
  pleasant experience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 14:32:25 +00:00
Ingo Weinhold
77222ae772 Reverted r22488 and part of r23783. This makes the backspace key work
again in the shell.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 14:24:12 +00:00
Ingo Weinhold
dc0467088c Added home and end key xterm capabilities.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 14:21:45 +00:00
Ingo Weinhold
470198e08c Hack to avoid problems with termcap entries that take more space than
2KB. That's the currently recommended size of the buffer passed to
tgetent(). Our xterm entry is bigger, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 14:21:01 +00:00
Ingo Weinhold
a71fd7987b * Changed generated key sequences to be more ANSI/xterm.
* Set TERM to "xterm".
* Removed unnecessary {Begin,End}ViewTransaction() in TermView::Draw().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 14:18:31 +00:00
Stephan Aßmus
eaa6da1ef7 Use a flag in BWindow to store whether an update to a view (Invalidate()) has
been requested. The first call to a BView::Invalidate() will flush the link
so that app_server is notified as soon as possible. It makes no sense for
further calls to Invalidate() to flush also, since Flush() is not cheap. This
trick makes Invalidate() about 3.2 times faster, making it a cheaper operation.
I could not see any negative effects, I tested with apps that invalidate
multiple different parts inside a window in reaction to something. Thanks go to
Ingo who had the idea.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 13:07:44 +00:00
Ingo Weinhold
ae50fc51bb Fixed libbe_test build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 00:06:50 +00:00
Rene Gollent
aa2ff66326 The attribute copy operation was nested inside a conditional block which wouldn't be executed if the file being copied was zero bytes in length. Moved outside the block to where permissions and other optional operations are handled. This fixes bug #2259.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-18 22:04:15 +00:00
Oliver Ruiz Dorantes
14ea910db6 Identation and handling of the pincode and incoming connection events
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-18 21:05:33 +00:00
Oliver Ruiz Dorantes
24f4a20d25 Add UI classes to the build.
Adding some helper methods to the Local and remote devices



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-18 21:01:26 +00:00
Oliver Ruiz Dorantes
b12daa5f08 Add UI classes for handling incoming connections and pincode requests
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-18 20:57:27 +00:00
Michael Lotz
df7096a4aa * Added malloc_nogrow() function that does allocation without triggering or
waiting for a heap grow.
* Use that nogrow version in the VM code to avoid a deadlock with the address
  space lock when a grow operation would try to create an area while a malloc
  happened from such a function in the VM.
* When waiting for a grow to happen, notify the waiting thread from the grower
  also if it failed to allocate a new heap. Otherwise a thread would just sit
  there and wait until another thread requested growing too and that one
  succeeded (or just forever in the worst case).
* Make the dedicated grow heap growable too. If the current grow heaps run low
  on memory it will instruct the grower to allocate a new grow heap. This
  reduces the likelyhood of running out of memory with no way to grow to a
  minimum. As the growing is done asynchronously it is still possible to
  happen, but it is highly unlikely as the grow heap is solely used to
  allocate memory in the process of creating new heap areas and it will even
  try using normal public memory if the dedicated memory has run out.
* Reduced the dedicated grow heap from 2 to 1MB. As it can now grow itself, it
  doesn't need to last so long.
* Extract heap creation into it's own function that does area creation and heap
  attach and use this function for growing normal and grow heaps.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-18 19:55:51 +00:00
Oliver Ruiz Dorantes
0df89492fb -Wrong header for function,
indenting...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-18 19:17:35 +00:00
Michael Pfeiffer
4420c1ceff PPD parser and configuration UI prototype from 2004. Maybe it can be of some use for the CUPS port HCD 2008 project.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-18 18:24:54 +00:00
Ingo Weinhold
13315c5755 * The old screen buffer wasn't freed in _ResizeSimple().
* Updated some debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-18 04:14:06 +00:00
Ingo Weinhold
7f6f9ddb94 * Forgot to clear the lines of the alternate screen buffer on
initialization. This would lead to crashes when resizing.
* Shuffled code in ResizeTo() a bit to make it more robust in case of
  error (out of memory).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-18 04:12:46 +00:00
Ingo Weinhold
d04aae8b80 * Some preparations for DEC private mode settings support.
* Implemented alternate screen buffer support. Not used by any program
  yet, since we still use the beterm termcap entry.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 22:49:06 +00:00
Karsten Heimrich
9c95cbf21f * update the chart as the first one was not entirely right
Thanks Michael for pointing this out :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 20:00:51 +00:00
François Revol
764de92f59 Fix boggus ifdef. Thanks Vasilis. Parens shouldn't be needed though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 19:38:57 +00:00
Rudolf Cornelissen
f433117839 removed all pre-NV40refs, removed all overlay code (no info on the current engine known). Driver cleanup mostly done now I hope.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 19:16:40 +00:00
François Revol
0895a4060f - Add jamfile,
- fix warning.
Note T9 could still be of use on the desktop, for ex by disabled people with enough mobility to access a numeric keypad...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 16:45:20 +00:00
François Revol
a94e61350c The code for an handwriting input method front-end, currently doesn't do much more than draw the strokes over the screen. The idea is to have a base backend class that will be used to call several backends like Lipi Toolkit or others. WIP.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 16:36:54 +00:00
François Revol
087bd9e838 The code for a T9 input method, quite empty yet. WIP.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 16:32:42 +00:00
Axel Dörfler
4122d6c0c0 * Applied patch by Jan Klötzke that prevents the ICMP module to answer broadcast
ping requests, and those before an interface is configured.
* Added comment that explains the consequences.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 16:04:24 +00:00
Axel Dörfler
64ee822252 * Simplified compiler text - it will now only be shown in case it's not 2.95.3,
and it does fit in the line.
* Removed extraneous whitespace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 14:25:46 +00:00
Ingo Weinhold
3764a6db47 For some reasons the scroll bar started overlapping with the resize
knob, or actually for some reasons it didn't for me after r25969.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 13:46:17 +00:00
Ingo Weinhold
2f9135e39a Fixed \ESCM (reverse index). It shall only scroll when the cursor is in
the first line.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 13:28:24 +00:00
Ingo Weinhold
3912340dee Entering/leaving insert mode should only happen with parameter 4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 13:19:25 +00:00
Axel Dörfler
14a3b510e8 Fixed network boot.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 09:28:00 +00:00
Stephan Aßmus
872781f355 Fixed a few warnings and uninitialized variables that could actually lead
to bugs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 08:27:12 +00:00
Ingo Weinhold
a177ec8cf6 Added support for \ESC[%dX (erase characters).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 03:06:25 +00:00
Ingo Weinhold
6df054ee2f Reenabled setting the window title. Changed things a bit, though: Each
session (tab) has it's own window title. Switching between them changes
the window title, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 02:23:28 +00:00
Ingo Weinhold
5d2d3a845c * Fixed \ESC[0J (erase screen below). It shall not erase any character
on the line before the cursor.
* Implemented \ESC[1J (erase screen above.
* Fixed \ESC[2J (erase all). It shall not move the cursor.
* When scrolling only the top part of the screen, we do now also
  invalidate the line below the scroll region. Otherwise the view
  wouldn't know that they have not been scrolled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 01:44:10 +00:00
Ingo Weinhold
dfa76786b3 Fixed incorrect access of new lines in AddEmptyLines(). The wrong
lines would be initialized while the right ones might have remained
uninitialized. Could happen only in case that more lines were
scrolled out of the screen than there were in the scroll region.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 01:37:05 +00:00
Ingo Weinhold
9035d0e247 Added support for \ESC[%dT (scroll screen down).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 23:27:07 +00:00
Ingo Weinhold
1dd3570350 Fixed \ESC[%d;%dr (set scroll region) for omitted second parameter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 23:22:39 +00:00
Ingo Weinhold
3f6008436d Support for \ESC[%dS (scroll screen up).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 23:15:26 +00:00
Ingo Weinhold
0dd40534eb Also invalidate the cursor position when it remains the same, but the
screen was scrolled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 23:13:58 +00:00
Ingo Weinhold
00b997a8f8 Missing invalidation when inserting space.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 22:38:38 +00:00
Ingo Weinhold
079eccf655 Removed data/etc/termcap. We use termcap.src from src/libs/termcap/
instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 22:18:39 +00:00
Jérôme Duval
6ae6d56c27 added debug output for accessed codec registers in case of timeout
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 22:05:53 +00:00
Jérôme Duval
49a0ff0c19 updated freetype to 2.3.6
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 20:51:14 +00:00
Jérôme Duval
4498384dd3 added support for dumping B_RGB15 and B_CMAP8 colorspaces
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 18:41:31 +00:00
Axel Dörfler
2d5f339dec Patch by Christopher Plymire, style-reworked by myself:
* first steps of supporting LVDS panels.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 18:01:34 +00:00
Jérôme Duval
8604e5edd7 fix some warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 16:36:38 +00:00
Ingo Weinhold
c85eff1991 Incorrect array index calculation in case of scrolling only part of the
screen (as vim does for instance). Should fix #2382 and #2386.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 16:24:37 +00:00
David McPaul
44820a5d88 Correct error message and minor layout changes to InfoWin
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 13:22:50 +00:00
David McPaul
f54f956131 Update matroska to latest support library versions (libmatroskaparser 1.31)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 13:18:51 +00:00
Alexandre Deckner
157cd8913e - Calculating the space left for deskbar replicants was broken. The TimeView could overlap on the left. This fixes #1408
- Placement of the time text was broken. With big fonts, the text was way too low. Using text bounding box now, it looks pretty and robust too.
- Fixed the height of the time view to the replicant height. The view has a fixed height now and can never overlap deskbar at the bottom (horizontal deskbar mode) or other replicant 
below.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 13:14:46 +00:00
Ingo Weinhold
272f87d67b Fixed various layout/size related issues (mostly off-by-one bugs). The
terminal opens with the correct size, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 01:30:10 +00:00
Ingo Weinhold
535841fcb5 If it extended to the end of the line the length of the last attributes
run of a history line would not be initialized correctly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-15 21:52:51 +00:00
Karsten Heimrich
6af681d7e6 * update year in copyright
* added a bit more (visual)  information about the spool file format
* rename Configuration to PrintServerMessenger (still not the best name)
* remove ConfigPage{Job}Thread as both share the same code and make it privte in PrintServerMessenger



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-15 17:37:07 +00:00
Ingo Weinhold
5fcf3f86e8 Unset the text buffer listener when being detached from the window, and
synchronize with the text buffer when being re-attached. Fixes the
problem that after switching to another tab and back ongoing output
wouldn't show anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-15 16:17:32 +00:00
Ingo Weinhold
ecd79a2cc1 Allow unsetting the listener. With multiple tabs there's only one
terminal view that is attached to the window and can receive messages at
all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-15 16:13:33 +00:00
Oliver Ruiz Dorantes
91f7786bc3 test
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-15 14:40:03 +00:00
Rudolf Cornelissen
fab07df0fb test commit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-15 12:39:39 +00:00
Stephan Aßmus
9977d172f0 Keep the last changes more in the style of the rest of the file. (Nice
catch, btw, Michael!)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-15 10:41:54 +00:00
Ingo Weinhold
799a9a3449 * TermWindow does maintain a separate Session list instead of doing
nasty things with the tab view.
* The tabs are named "Shell <number>" now, which is somewhat more
  useful than all being named "Terminal". This is similar to Konsole and
  we should probably also support setting the tab name by the user.
  Until Haiku supports persistent sessions, that is not really useful,
  though.
* Shift-Left/Right iterates through the tabs, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-15 02:18:31 +00:00
Ingo Weinhold
4ce4bc3096 Made RemoveAndDeleteTab() virtual, so it can be overridden. Deleting the
view without notifying anyone isn't always desirable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-15 02:13:09 +00:00
Ingo Weinhold
17b889de67 * Changed TerminalLine::length from int16 to uint16.
* BasicTerminalBuffer::Init() no longer uses _ClearLines() to clear
  the screen lines, since that expects the lines to be somewhat valid
  at least and also needlessly updates the dirty region.
* _ClearLines() always clears lines, even if they were empty. This way
  the "softBreak" flag is cleared too.
* Be a bit more careful when multiplying a potentially negative signed
  number by an unsigned one. Shouldn't have caused a problem in this
  case, though.

Either of the first three items should fix #2379.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-15 01:02:55 +00:00
Ingo Weinhold
4c9d4b02ef * Change the line history to a more compact format. We reserve
lines * (width + 8) bytes which is only a little more than a sixth of
  what it was before. The effect on performance is relatively small. In
  my tests I measured about 2% slowdown.
* Fixed artifacts after soft-wrapped lines.
* Re-enabled cursor blinking. I changed it so that the cursor is 1s
  shown and 0.5s hidden (instead of 1s each). Tell me what you think.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-14 21:37:40 +00:00
Michael Lotz
345dc29f8a When drawing bitmaps with B_OP_OVER with a color space that does not provide
an alpha channel of itself, we have to respect B_TRANSPARENT_MAGIC_* pixels
and properly make them transparent. We achive that now by just setting the
alpha to 0 in our converted B_RGBA32 bitmap for each pixel where there is a
B_TRANSPARENT_MAGIC_* pixel in the source. This is not really efficient, but
fixes missing images for example in NetPositive. They were treated as B_RGBA32
while they in fact were B_RGB32 and happened to have all alpha bits set to 0.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-14 20:52:05 +00:00
Michael Lotz
50320b5500 Implement B_EJECT_DEVICE and B_LOAD_MEDIA through the START_STOP_UNIT SCSI
command.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-14 20:51:55 +00:00
Michael Lotz
6309b004c6 When drawing the decorator buttons lock the DrawingEngine, enable copying to
the front buffer, draw the bitmap, restore the copy to front buffer state and
unlock. This fixes that the updated button state was not actually copyied to
the front buffer (and therefore visible) when a window was inside an update
(disabling front buffer copying).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-14 20:51:20 +00:00
Michael Pfeiffer
d7693ead7f Closed ticket #2281. Method Link in class LocalLink shadowed destructor of parent class Link.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-14 09:19:54 +00:00
Michael Lotz
e13a79e005 * Cache the close and zoom buttons in a blit-ready bitmap so the buttons don't
need to be drawn each time an update occurs (switching focus/non-focus or
  pressed state, involving many graphics card blits and state updates in the
  drawing subsystem).
* Provide a shared list of already present bitmaps. All the default decorators
  now use the new _GetBitmapForButton static method to get a rendered bitmap
  of the button for the given size and state (focus, pressed). If a matching
  bitmap exists it is returned, otherwise a new one is created on demand using
  a shared BitmapDrawingEngine.
* Cache the colors of the tab and frame for both focus and non-focus states to
  avoid always looking them up.
* Added a todo that these bitmaps and the BitmapDrawingEngine are never freed.
  They should be freed on app_server quit, but as there are only like 12 of
  them anyway I didn't really bother.
* Some cleanup.

This should reduce the waste of cycles for just drawing the default decorator
buttons quite a bit. Probably the whole tab should be pre-rendered though to
also safe the text rendering of the title.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-13 13:48:33 +00:00
Michael Lotz
33d85b510b Add a handy utility class that provides a DrawingEngine directly attached to a
server side UtilityBitmap of a certain size. It sets up the DrawingEngine, the
UtilityBitmap and the BitmapHWInterface necessary so that one can directly
do drawing to a bitmap using the normal DrawingEngine interface. It provides
an ExportToBitmap method that allocates an output UtilityBitmap of a specified
size and color space where the content is put into, so a single instance of a
BitmapDrawingEngine can be reused for various drawing.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-13 13:28:13 +00:00
Jérôme Duval
3b6336e41c PNGDump supports B_RGB16 now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-13 06:54:03 +00:00
Alexandre Deckner
c3f006deb0 - initialize the variable, we never know :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-13 00:36:06 +00:00
Alexandre Deckner
709ef82757 - BMenu caches the preferred size (since r21396) but didn't recompute it if the ResizingMode changed, it did it only in
InvalidateLayout().

  This fixes #1461, the bug appeared because DraggableContainerIcon uses a special trick, involving changing the resizing 
mode, to get the total width of the menu items. (see tracker/ContainerWindow.cpp line 479)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-13 00:24:01 +00:00
Rene Gollent
fe83a98715 Remove unneeded header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 21:33:13 +00:00
Rene Gollent
0c8bdbafd5 Revamp BList somewhat to further optimize the resizing behavior.
We now keep track of a lower bound as to when the list should scale
itself back down. When increasing the list size, we double the current,
with the lower bound set to 1/4 of the current size, not allowing it to
go any smaller than the block size. These combined allow us to do very
cheap tests to see if an operation requires a resize at all, and minimize
how often the list actually needs to be resized, since the difference in upper
and lower bounds prevents bouncing back and forth between a size in the case
of adding/removing an item while close to a boundary. All in all this should
make BList noticably more scalable when doing large numbers of add/remove
operations.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 21:30:28 +00:00
Oliver Ruiz Dorantes
1b9e61ad87 Remove some reference code
Replace bsd types for haiku ones
-ve-This line, and those below, will be ignored--

M    l2cap/l2cap_command.cpp
M    l2cap/l2cap.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 19:53:06 +00:00
Oliver Ruiz Dorantes
43f36da804 - Follow directions from mmlr regarding ticket 2353. Do not resubmit if the transfers are already cancelled.
- As more cleaning still needs to be done regarding this subject the ticket is not yet closed 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 19:42:21 +00:00
Oliver Ruiz Dorantes
c15ecd98ca - Add some core code for the L2CAP layer (l2cap commands)
- Tailor a bit the main module
- Fix definitions in the main header




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 19:31:29 +00:00
Oliver Ruiz Dorantes
350458a6ba - Add PinCode command replies
- Add CancelInquiry command


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 19:18:32 +00:00
Alexandre Deckner
491a329330 - AddPoses didn't check for the ShowDiskIcon() option when deciding to AddRootPoses.
When changing to icon mode with a size other than 32 (ie: kScaleIconMode) PoseView calls Refresh() and all the poses are 
removed and loaded again (PoseView.cpp line 1995). This called AddPoses but didn't check for ShowDiskIcon(). The Disks icon 
was shown on startup though, since Tracker uses another code path when starting (caching?).

  This fixes #1833.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 18:22:27 +00:00
Michael Lotz
3ba76c1433 Whitespace cleanup. No functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 18:08:52 +00:00
François Revol
12f3292615 - change KLSI init the way it's done by the linux driver
- do not count usb headers as part of count returned by write(), else we might end up writing more than the passed amount :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 13:44:49 +00:00
Stephan Aßmus
1a5c921404 * More WIP cleanup and simplifications
* Fixed another memory leak in NodeRegistered()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 13:03:05 +00:00
Stephan Aßmus
471913fbd4 patch by Nate Eagleson:
* The audio and video panes refered to the OS as "BeOS", now it's "Haiku".

Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 08:46:01 +00:00
Michael Lotz
1751250abf Remove disabling and clearing interrupts again as it doesn't turn out to be a problem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 08:21:03 +00:00
Michael Lotz
018b0c251c * The StrokeLine() variation that takes a rgb_color did change the drawing
state of the painter without restoring it afterwards (HighColor and
  DrawingMode).
  This function is only used in decorators, but as such it could lead to
  strange effects. When clicking and holding the close button on the R5
  MidiPlayer for example, the background of the scope would suddenly become
  the color of the close buttons middle line. As the drawing mode was also
  overwritten this could probably have lead to text rendering issues when
  zooming applications. As I didn't find a easy way to reproduce such a thing,
  this is only theory though.
* Implement the missing IsExclusiveAccessLocked() method in the DrawingEngine
  which is not used at the moment. If corresponding debug output is generated
  though, it reveals possible locking issues with CopyRegion().
* Remove an empty line in the LineArrayData struct.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 23:49:53 +00:00
Rene Gollent
6559de374d Build fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 22:43:07 +00:00
Stephan Aßmus
08c82102cf Work in progress:
* Cleaning up and refactoring the OpenSoundNode code to use a single coding
  style and be less C-like in many places.
* Fixed quite a few memory leaks in OpenSoundNode.
* Removed large chunks of inactive code originating from the MultiAudioNode.
* Transfered some functionality into NodeInput and NodeOutput, could be more.
* No functional changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 22:24:34 +00:00
Alexandre Deckner
b9a5b8236b - Changed BColorControl cellsize to account for the fixes in BColorControl. A rounding error gave the right appearance. see r23671 and r23680. Also, we might want to check the minimum cellsize in R5 and use the same for compatibility.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 20:51:56 +00:00
Alexandre Deckner
82adcce2b7 - BView::MoveBy was letting BView::MoveTo do the rounding after adding
the delta.
  For example, MoveBy(-0.5, 0.0) would do nothing in this case: 
roundf(150.0 - 0.5) = 150.0, when rounding the delta it gives the 
expected value: roundf(150.0 + roundf(-0.5)) = 149. 

  On the other hand, BView::ResizeBy was doing it right, and this 
explains the bug in Cortex (#333). Cortex was doing 
scrollBar->MoveBy(-0.5,0) then scrollBar->ResizeBy(0.5,0) and the 
inconsistency lead to the visual bug. (see StatusView::MouseMoved())

  This fixes #333. The bug was strange to reproduce since sometimes the 
point received in MouseMoved would be "some_integer+0.5" values 
sometimes just integral. This has still to be investigated though not 
problematic here anymore. See cortex/RouteApp/StatusView.cpp line 222.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 19:43:36 +00:00
Rudolf Cornelissen
730ebb158c removed all pre-NV20 refs, removed all TVout stuff except clearing some flags, re-enabled force_ws option, force_ws is now default true, pgm_panel is now default false.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 18:14:15 +00:00
François Revol
bc8b563b74 Use 2KB buffers now, seems to work fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 14:59:40 +00:00
Rene Gollent
819eb21bbf Remove (invalid) TODO note. Rename variable more meaningfully. Remove stray whitespace that crept into previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 14:29:59 +00:00
Stephan Aßmus
1b007c20ad Updated supported codec table.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 08:37:00 +00:00
Stephan Aßmus
ad846ea0a9 * Move the global initialization of the xvid core to a static initializer,
only the decoder structure is now initialized per instance, this should
  be better (thread safe).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 08:32:44 +00:00
François Revol
6bead436a6 Fix include for pci.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 01:50:30 +00:00
Alexandre Deckner
abe0b5c858 - MakeViewFor didn't return a view with a good default size when no hintRect was provided (as
in Cortex). This happened only when needing a tabbed view. It will now return a view with the 
most fitting size. This fixes #597



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 01:47:49 +00:00
François Revol
f57b802a6e Debugger stubs for m68k.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 01:26:02 +00:00
Rene Gollent
34380ac48c Tracked down issue with previous commit. For some reason, modifying the passed in parameter's value directly results in a segfault in registrar, and I cannot see why. Thoughts?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 00:32:48 +00:00
Rene Gollent
22aef42481 Revert this change until I determine why it now crashes the app_server when it didn't during my tests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 23:25:33 +00:00
Michael Lotz
a0ace2dff6 If the BIOS doesn't give up ownership of an EHCI controller, simply clear the
BIOS owned flag and clear all possibly enabled SMIs. It seems to be common
practice to just ignore this error case, probably because there are enough
broken BIOSs out there that do not correctly hand over the controller.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 22:35:57 +00:00
Ingo Weinhold
0ee6c1ea21 * TermView does now maintain an additional visible area sized
BasicTerminalBuffer. It synchronizes this buffer with the actual
  terminal buffer and uses it for drawing. This does significantly
  decrease the time the terminal buffer is locked by the window thread,
  and avoids the necessity to do invalidations in Draw() when the
  terminal buffer changed in the meantime.
* When the view detects heavy scrolling of the terminal buffer due to
  lots of continued output, it throttles redraws to one every 0.1s. The
  detection condition might need some fine-tuning -- it's probably a bit
  too strict for most situations.

I guess I'm done now with optimizations. After testing on real iron for
the first time, I'm a little impressed. In the "time seq ..." speed
competition Haiku's Terminal easily beats Konsole by 10 to 20% for 80x25
and by factor 3+ for full screen. And if I interpret the results
correctly 90% of the time is actually used by "seq" itself which seems
to be about 5 times slower than under Linux.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 22:20:14 +00:00
Rene Gollent
864ace1845 Rework BList's Resize() functionality: instead of altering the size of the list a block at a time,
we now double/halve the current size of the list, starting with the constructor blocksize as a baseline.
This has the net effect that when doing large numbers of inserts/removes, the number of resize operations 
needed scales logarithmically to the number of operations, which should yield a decent performance 
improvement in such cases.

Review welcome. This does not yet affect ticket #2363 that I'm aware of, as I'm currently in the process
of attempting to find a copy of said app to test with.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 22:10:13 +00:00
Michael Lotz
97403a77f1 * Fix the check after waiting for owner change to happen and don't reset if the
handover indeed worked. Doesn't really matter though, as we reset anyway,
  just not twice in the success case.
* Disable all interrupts and clear any pending active interrupts just after
  taking over the controller. This might fix bug #2361.
* Also trace output when the ownership change is successful.
* Don't disable interrupts during reset.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 22:07:45 +00:00
Axel Dörfler
0e0d9290e0 I can't believe Urias wasn't mentioned here yet...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 21:54:35 +00:00
Axel Dörfler
52b5cb5a10 Applied patch by Urias in order to let the PPC port build again.
Temporarily removed the VESA driver, as long as it only builds on x86.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 21:53:00 +00:00
Ingo Weinhold
90ab7ea343 * Added a SetHistoryCapacity() method.
* Added a ResizeTo() version that allows to set the history capacity at
  the same time.
* Added a SynchronizeWith() method that allows synchronizing with (a
  part of) another buffer.
* Fixed TODO in _Scroll().
* Improved the dirty region update code in _Scroll(). It would in
  certain (not exactly uncommon) situations needlessly invalidate the
  whole screen.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 21:43:42 +00:00
Ingo Weinhold
540e66d6a6 * Renamed GetReaderBuf() to _NextParseChar().
* Introduced a small (64 byte) buffer for the parser thread. Instead of
  directly reading single characters out of the reader buffer, we read
  a full parser buffer and process the characters from the parser
  buffer. Thus _NextParseChar() could be inlined, since it merely
  consists of a conditional method call and an access to the parser
  buffer, now.
* Improved the locking of the terminal buffer. Instead of unlocking and
  relocking after every multi-byte char or escape sequence, we only
  unlock while refilling the parser buffer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 21:34:50 +00:00
Karsten Heimrich
ced75fc6b0 * in case we do not show the config window,
still distinguish between config page and config job
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 18:47:07 +00:00
Karsten Heimrich
e8991ce3ac * fill the view with it's high color, BPrintJob behaves now like on R5
fixes printing from e.g Scooby (missing header color)

  finally found the missing peace here:
  http://www.freelists.org/archives/haiku-development/06-2008/msg00086.html
  thanks Stephan  :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 18:42:47 +00:00