Commit Graph

21018 Commits

Author SHA1 Message Date
Stefano Ceccherini
ed5de868df Implemented the following BPicture ops: fill region, stroke/fill arc,
stroke/fill polygon, stroke/fill bezier. some work towards drawing of 
nested pictures.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 07:20:43 +00:00
Ingo Weinhold
337171e417 Fixed the documentation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 23:54:15 +00:00
Ingo Weinhold
c6aab4598b * Small readability changes to the supported types functions.
* Moved the module definition to the end of the source file, so that the
  lengthy prototype could be be removed.
* Fixed the *_supports_initializing() hooks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 23:53:47 +00:00
Ingo Weinhold
ac7fc18b09 Always allow debugging a team, even if it wasn't possible to get its
executable path. It seems, gdb doesn't produce very helpful stack traces
then, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 23:49:38 +00:00
Ingo Weinhold
5c806b5dbc map_backing_store() would deadlock in error case for REGION_PRIVATE_MAP.
Closes #1379.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 22:32:23 +00:00
Michael Lotz
d3ce129ef3 Use swap_data() when unflattening a swapped message. It fits this purpose perfectly as it does conversion based on the type code. Now known type like B_INT32_TYPE will get swapped automatically.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 22:27:25 +00:00
Ingo Weinhold
7e8ac2903b * Prefixed the variables NETWORK_LIBS, NETAPI_LIB, and
SELECT_UNAME_ETC_LIB with TARGET_ and introduced HAIKU_* and HOST_*
  counterparts.
* Use HOST_NETWORK_LIBS for building remote_disk_server.
* Also got rid of {R5,BONE,DANO,HAIKU}_COMPATIBLE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 22:15:10 +00:00
Michael Lotz
ed8dc403a9 * Changed realloc() again to leave the old block intact (obviously...)
* Check for failed allocations and set errno correspondingly in malloc(), calloc(), memalign() and realloc()

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 16:23:55 +00:00
Stephan Aßmus
5a626bd963 * removed code duplication in BView::check_lock() and do_owner_check(),
* revised use of check_lock() versus do_owner_check() (do_owner_check()
  is supposed to drop you into the debugger if there is no owner, otherwise
  it behaves like check_lock())
* ConstrainClippingRegion() no longer transmits empty regions to the
  app_server. I would have thought that my fix to ServerLink would have
  solved the issue I was investigating, but only this commit fixes it.
  Maybe the last commit would have fixed it if I did a "jam clean"...
* WonderBrush draws the icons again on mouse over...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 13:14:09 +00:00
Stephan Aßmus
fddbc2311f * fix attaching and reading empty regions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 13:07:55 +00:00
Michael Pfeiffer
5f5ba235cb Disabled CopyBits test. It does not work under R5 either, so I assume
this operation is not supported when recording to a BPicture.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 13:05:24 +00:00
Michael Pfeiffer
54730332d2 Added tests for basic drawing operations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 13:01:52 +00:00
Michael Lotz
c954d33405 * Apply more sane canceling logic to EHCI too
* Remove the leftover user_area - this is handeled inside the Transfer class by now

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 12:54:16 +00:00
Michael Lotz
d2e77702cb Change the way notify hooks and rescans are handeled. The rescans are now delayed to after all notify hooks are called (like in BeOS).
This also ensures that the rescans do not happen while the devices are not yet added or already removed.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 12:04:41 +00:00
Michael Lotz
154860eb4b Port endian conversion fixes to build version of BMessage.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 11:47:11 +00:00
Michael Lotz
e72c1f9cb1 Avoid a crash in realloc() if the allocation of the new block failed. Return NULL instead.
Someone please review. Should errno be set to ENOMEM here?

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 10:51:56 +00:00
Michael Lotz
a156e74ad7 * Changed swap_data() to behave like the R5 version
* Added a todo about unsafe access of the buffer
* Removed some types from is_type_swapped() to exactly mirror R5

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 10:42:40 +00:00
Michael Lotz
0127fb779d * Respect endiannes for item lengths inside swapped BMessages
* Also swap the flattened size when creating the read buffer
* Define specialized byte_swap()s for unsigned types too so that type_code and the like get swapped correctly

This should fix bug #1371.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 10:32:21 +00:00
Stephan Aßmus
8c1a98d8d4 * there was a complete mixup of "drawing origin" and "scrolling offset" in the
BView implementation (client side)
* introduced some private methods for _Convert*(BPoint*) methods which avoid
  doing the check_lock() thing in the recursion, also Origin() would likely
  have communicated with the app_server all the time, since the origin bit
  was needlessly invalidated, so some speedup should be achieved
* this should fix ticket #98


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 09:52:25 +00:00
Michael Pfeiffer
62c7fd0f79 * added new lines add end of file
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 09:05:48 +00:00
Michael Pfeiffer
acf1c6ada3 * test archiving / unarchiving
* compare recorded / restored picture to direct drawing into bitmap
* renamed Test Vertical Line -> Test Diagonal Line


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 09:00:17 +00:00
François Revol
16f5889c28 Fix a warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 21:23:47 +00:00
Jérôme Duval
0a29487db5 fixed gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 19:53:20 +00:00
Stephan Aßmus
95baf31294 * view accepting bitmaps are now cleared to white
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 15:56:37 +00:00
Ithamar R. Adema
fba47bd728 Initial work for a driver supporting the pre-AHCI SATA controllers. Currently
implemented: VIA & ALI. nForce is on the TODO list ;)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 15:03:30 +00:00
Ingo Weinhold
6ad9efd671 Removed the AVLTree implementation and used the kernel utils version
instead. Quite a few changes to account for the different interfaces.
The add-on size dropped from 438 to 302 KB, which is still quite heavy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 15:02:22 +00:00
Ingo Weinhold
2529455101 Revised the AVLTreeMap code:
* Pulled the actual tree code into a non-templatized class AVLTree to
  reduce the amount of code generated each time the template is
  instantiated.
* Changed the iterator interface to Java-style.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 14:57:25 +00:00
Stephan Aßmus
aadc09c665 * fix the mixup of charCount (glyphs) versus bytes. The new font cache
implementation takes the byte count, even though it looks like this is
  less efficient when the glyph count is already known (I tested to
  optimize it away but it was not faster)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 13:34:09 +00:00
Stephan Aßmus
b595496d03 * minor cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 13:31:59 +00:00
Stephan Aßmus
e4273662d2 * this function might be called with a NULL FontCacheEntry, handle that
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 13:16:07 +00:00
Michael Pfeiffer
82afdb09c8 Added test application for testing flattening and unflattening of
BPictures.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 08:04:51 +00:00
Ingo Weinhold
13542314ef Removed special dummy page handling. It became obsolete with r21816,
since fault_find_page() does no longer insert a dummy page into a cache
that has a store from which it can read the page.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 00:31:14 +00:00
Ingo Weinhold
1873b4b37e Give the runtime loader a chance to reinit its semaphore after fork().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 00:14:26 +00:00
Ingo Weinhold
6981ec9f0a Test to verify that the runtime loader semaphore is not initialized
after fork().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 00:07:52 +00:00
Jérôme Duval
d65a066a81 fixed testing for haiku target
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-10 18:49:33 +00:00
Jérôme Duval
9a306eb13f added a copy of the former seq.c well handled by gcc 2.95.3, and asked jam to use this one conditionally. this "fixes" bug #1368, unless/until someone come with something
better.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-10 17:24:48 +00:00
Michael Lotz
16298429e5 Change the way UHCI does things. Restructured processing of transfers in the finisher thread:
* Transfer removal is now done only from the finisher
* Processing is only done after the transfer has been removed from the list
* Canceling transfers only sets a flag so the finisher can remove the transfer
* The callback at cancel is done synchronously though

This fixes quite a few race conditions where transfers were processed while they where already removed. It could happen before that callbacks would have been called twice or freed descriptors/callback buffers were accessed.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-10 07:10:14 +00:00
Jérôme Duval
ac66f539e6 added a lock around keymap uses to avoid a reload in the middle of the key event process
this fixes bug #1177


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 22:31:01 +00:00
Jérôme Duval
6f922173d2 missing ctype.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 21:53:36 +00:00
Jérôme Duval
6a2b62ec79 updated freetype to 2.3.5
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 21:33:28 +00:00
Jérôme Duval
a9fa028de4 updated mesa to 7.0.1
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 21:12:30 +00:00
Ingo Weinhold
279c6b76dc * Use condition variables when waiting for busy pages or busy caches.
* Removed a few instances where the page state was set busy directly after 
  allocating it. This is a no-op, since a page is always busy after 
  allocation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 20:08:25 +00:00
Ingo Weinhold
227402f2bf Added simple condition variables to the kernel. They are a relatively
cheap means to block threads until notified explicitely.
threads 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 20:03:17 +00:00
Ingo Weinhold
bce7e9f695 * Added AutoLocker instantiations IterruptsLocker (disables/restores
interrupts) and SpinLocker (acquires/releases spinlocks).
* Adjusted Jamfiles of components that used <util/AutoLock.h> but didn't
  add all header directories required now (<int.h> was added).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 19:47:22 +00:00
Ingo Weinhold
5378efc0db New rule UsePrivateKernelHeaders. It adds header/private/kernel as well
as all directories that might be needed by private kernel headers (arch,
platform,... headers).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 19:42:21 +00:00
Ingo Weinhold
c100c71354 Remove mpu401 driver from the netboot archive.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 19:40:19 +00:00
Stefano Ceccherini
db5b3a0249 TermWindow didn't set the colors correctly on Terminals in a new tab.
Now TermWindow::_SetTermColors() accepts a pointer to a TermView to fix 
that.
Spotted by Andrea Bernardi. Thanks! 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 10:35:08 +00:00
Stephan Aßmus
fe914c98b4 * added a version of SetFont() that takes a DrawState* to DrawingEngine and
Painter, that is needed to be able to tell if anti-aliasing is to be used,
  since the flags in the font can be overruled by the flags in the view...
* fixes aliased fonts reliably, tested with FontDemo


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 09:48:28 +00:00
Stefano Ceccherini
98eadf4b9d Scrolling didn't work correctly if the user didn't move the mouse all
the time. Fixed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 09:38:19 +00:00
Stephan Aßmus
05357ae700 Fixed an interesting bug in the app_server, after beating my head against
this for a long time... what happens when the app_server has requested a
redraw, but the client sends some drawing commands before starting the
redraw session? This would be the case, for example, when TextViews got
notified of their parent window becomming active (they would invert the
selection outside of any update session). When there was an additional
expose event, the app_server would already have the background cleared, so
the lonely "invert" command would invert the freshly painted background. Then
the normal Draw() of the TextView would be called because of the expose event.
By the time the text was rendered, it was rendered on the inverted background,
then the normal Draw() contained another "invert" command to invert the
region of the selection. Thus inverting just the text, and the background
twice. Solution:
* introduced a special handling for drawing commands arriving between
  requested update session and beginning of that session: the pending
  update region is clipped from the region the client is allowed to draw in.
* fixes funny text rendering in the selected part of text views. For example
  ticket #908.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 00:33:50 +00:00