Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 9046c67753 Fixed PPC build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-17 18:06:35 +00:00
Axel Dörfler 7902c46c3e * Added i830 as supported chipset - doesn't work perfectly, though. But Kyan reports
that at least 8 bit modes seems to work (but overlay only partially)
* Added "hardware_cursor" option to the settings file - when set to "false", you should
  have a cursor in the second output now as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-17 17:30:23 +00:00
Axel Dörfler 6632e1f482 * Changed type of "bytesNeeded" to size_t whereever it's used.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-17 14:12:41 +00:00
Axel Dörfler 467a2ae6f8 AcquireWriter() could succeed without fulfilling the bytesNeeded acquirement.
This fixes bug #477.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-17 14:09:36 +00:00
Axel Dörfler d41fb4db6e * Overlay::fVisible was not maintained correctly, but already used in ViewLayer.
* Overlay::SetView() no longer calls HWInterace::UpdateOverlay() if it's currently
  hidden.
* ViewLayer::UpdateVisibleDeep() now calls _UpdateOverlayView() before showing
  the overlay.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-17 12:46:56 +00:00
Axel Dörfler 8e2f6185f5 Overlay was not correctly updated when moving the window - it was only updated if
the overlay buffer changed. Found by Marcus.
As a result, the overlay window looks much smoother when moving it around (and it
even starts to move when you don't change the overlay bitmap at all...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-16 19:12:01 +00:00
Axel Dörfler 94e881ade0 No longer redirects the boot stdio to /dev/dprintf - this gives a much better media
experience (as the media server dumps quite a lot, and the serial interface is too
slow to keep up).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-16 14:50:46 +00:00
Axel Dörfler 94f687f9e3 Fixed an endless loop in tty_write_to_tty() that happened if there was not enough
space left to write a '\r\n'. This fixes bug #80 and probably bug #477, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-16 14:33:06 +00:00
Axel Dörfler 04b1590767 docRef can be NULL - this fixes the crash of the media server I introduced yesterday...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-16 13:28:56 +00:00
Axel Dörfler 85530ddf54 Fixed ogg sniffer rule.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-16 12:55:44 +00:00
Axel Dörfler 81d6346e7b Launching scripts via the Roster is now actually working (there were some app
registering stuff left that prevented that before).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-16 01:19:34 +00:00
Axel Dörfler 973582ac0c _LaunchApp() no longer registers scripts.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-16 01:11:27 +00:00
Axel Dörfler c2a2369d49 BAppFileInfo::SetTo() no longer fails in case the resources couldn't be initialized.
This allows it to read the attributes (if any) from scripts as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-16 01:05:43 +00:00
Axel Dörfler 9c243392a4 Even short scripts are B_NOT_AN_EXECUTABLE, and not B_BAD_VALUE.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-16 01:01:17 +00:00
Axel Dörfler 828a3baaa4 Added application types from Fredrik.
That application/ogg type is a good hint on why MIME types aren't the last word
on the subject, though :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-15 21:23:28 +00:00
Axel Dörfler 2316ec552c Added some more audio types from Fredrik.
Note, currently everything media related has VLC as preferred application - this
should be changed to our own MediaPlayer (for all supported types).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-15 21:16:53 +00:00
Axel Dörfler 32349e2f08 Renamed x-mpeg to mpeg, as this actually is a registered MIME type. Reported
by Fredrik Ekdahl (that's the one who contributed those other types as well,
and more to come, too).
Also removed the useless "attr:extra" stuff.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-15 19:15:39 +00:00
Axel Dörfler 5fbc62e3eb WAV is not a registered MIME type, and thus, it must be called audio/x-wav.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-15 18:21:24 +00:00
Axel Dörfler ce3b920126 Turns out Fredrik was right and the icon type is an officially registered MIME type.
Changed the ICOTranslator accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-15 18:19:35 +00:00
Axel Dörfler f5c9c0d066 Added MS-Word MIME type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-15 18:04:02 +00:00
Axel Dörfler 833552e7b1 Added image MIME types from the same source.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-15 18:02:02 +00:00
Axel Dörfler 9c20789426 * Updated references to StyledEdit.
* Added some more types we got contributed on the mailing list (sorry, don't remember
  right now from whom...), since Ingo didn't do it yet. All usable text and video
  types are imported and cleaned where useful.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-15 16:46:03 +00:00
Axel Dörfler a45ebf0c79 * StyledEdit now has "haiku" in its signature, no longer "obos".
* Removed the separate version rdef, and put it into the main rdef.
* Also moved the application icon into the main rdef.
* Removed text/plain icon from the icons rdef.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-15 16:39:05 +00:00
Axel Dörfler 112db6b691 * Now disables the VGA display mode explicetly, which allows it to work
without having a VESA mode set first (thanks to Stephan for noticing
  this).
* intel_set_display_mode() now calls intel_propose_display_mode() to make
  sure the mode passed in is valid. Note, B_PROPOSE_DISPLAY_MODE is still
  not working correctly (which will cause problems for BWindowScreen and
  friends).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-15 15:25:17 +00:00
Axel Dörfler 9b28f8873c * Added sigsetjmp_test to Jamfile.
* Fixed Jamfile (was set to only support libbe_test).
* Fixed warnings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 21:43:39 +00:00
Axel Dörfler 382ef632d7 Forgot to include this file in the previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 14:30:25 +00:00
Axel Dörfler 973d499ee1 * Made the accelerant safer to use when cloned (though I didn't test cloning yet);
introduced a lock that is used in B_SET_DISPLAY_MODE etc.
* Correctly implemented B_ACQUIRE_ENGINE and B_RELEASE_ENGINE now (ie. they lock
  the engine now).
* The lock of the ring buffers is now deleted when the (primary) accelerant is closed.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 14:27:50 +00:00
Axel Dörfler 4955c11be9 * Moved the intel_info structure and prototypes from intel_extreme.cpp from the shared
headers into intel_extreme_private.h.
* Removed non-memory-mapped definitions from driver.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 13:58:52 +00:00
Axel Dörfler cccc4c8383 Now advertizes the capabilities of the screen modes correctly (ie. sets B_HARDWARE_CURSOR
and B_SUPPORTS_OVERLAYS).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 13:50:26 +00:00
Axel Dörfler 7d5957df85 * Implemented hardware cursor support.
* Turns out cursor handling is simpler as originally thought, so I could remove its
  physical mapping - it's still put into the shared area, though, although that isn't
  needed for this chip (but could eventually simplify the handling of other generations
  of this chip).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-14 13:41:33 +00:00
Axel Dörfler dc30266262 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 22:51:56 +00:00
Axel Dörfler 82bca02b9f You can now specify how much memory the chip can use for graphics memory via
a settings file. However, you cannot specify less than the amount taken by
the BIOS (ie. your settings will be ignored if you do).
Just put something like the following into a "intel_extreme" settings file:
	graphics_memory_size 16

To allocate 16 MB in total. Note, whatever value you specify will be rounded
up to the next power of two, ie. if you specify 6 MB, 8 will be taken.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 19:48:17 +00:00
Axel Dörfler 63dbc0a8d6 * Accidently overwrote info.registers which let all subsequent register writes
(in the kernel driver) fail - or crash the system.
* Waiting for VBLANK now works as expected - you actually have to *set* the bit
  to clear it, isn't that obvious? :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 19:31:00 +00:00
Axel Dörfler 5af5259c38 Implemented vblank interrupt and support for the retrace semaphore - not yet
tested, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 15:22:20 +00:00
Axel Dörfler ccb666bc0e * Prepared having hardware cursor support; got quite complicated because there
is no good (or reliable) way to retrieve the physical address of "stolen"
  (by the BIOS) graphics memory.
* Implemented allocation of additional graphics memory in case the BIOS was
  a bit too cheap. We now guarantee 8 MB of memory available to the graphics
  chip - would be nicer to only allocate that on demand, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-13 09:19:56 +00:00
Axel Dörfler c8609aed8c * Now allocates enough memory for virtual screens.
* Implemented untested B_MOVE_DISPLAY - note, the page_flip demo doesn't work
  yet (didn't investigate yet, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-12 11:46:14 +00:00
Axel Dörfler 1c9d6e5902 Calmed down overlay a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-12 09:34:20 +00:00
Axel Dörfler d906e6a03e * Implemented B_FILL_SPAN - I am not sure if it's used at all, though, so
I am also not sure if it's working correctly.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-11 16:10:09 +00:00
Axel Dörfler efeb77268d Say hello to B_FILL_RECTANGLE and B_INVERT_RECTANGLE - only B_FILL_SPAN is missing
from the acceleration hooks in BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-11 15:24:34 +00:00
Axel Dörfler 030d964e4e Made the primary ring buffer for the acceleration commands a bit larger (16 KB);
this is mostly done because of the fact that I haven't tested how full it usually
is, and since I haven't implemented checking for free space yet...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-11 15:22:35 +00:00
Axel Dörfler 5462d44020 * Turns out the virtual messes with the data in struct command, so we can't
use it (which isn't really that bad).
* B_SCREEN_TO_SCREEN_BLIT is now working as intended, so we can finally move
  windows and scroll at decent speed :-)
* Implemented a simple version of B_WAIT_ENGINE_IDLE for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-11 14:12:02 +00:00
Axel Dörfler 140e4f87c8 If you switched between a 32 bit mode and another, hardware acceleration was accidently
turned off - note also, that only the 32 bit mode is currently hardware accelerated!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-11 13:13:53 +00:00
Axel Dörfler 2ace35ed22 Started implementing screen-to-screen blits, not yet tested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-10 18:53:20 +00:00
Axel Dörfler 6c67d64cad Prepared support for acceleration: there is now a QueueCommands class that should
be used to feed the ring buffers with new commands. It takes care about proper
alignment (this shouldn't be necessary in the final version, anymore, though), and
locking.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-10 16:09:28 +00:00
Axel Dörfler fc88cd9396 * The Y/RGB and UV registers for the integer downscale factor are reverse to
the usual order of other registers, so I mixed it up: vertical downscaling
  is now working as expected as well.
* The downscaling factor was a tiny bit too low (one pixel from the view).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-10 14:48:38 +00:00
Axel Dörfler e3fe0cd725 This didn't even read out the page table register, it read something from address
0x2020, which resulted in a page fault under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-10 13:12:57 +00:00
Axel Dörfler 08ef16abee * Now allocates space for the hardware status page and cursor memory, not yet
used, though.
* Renamed the PhyisicalPageMapper class to AreaKeeper and made it a bit more
  generic (ie. it can now also create usual areas)
* The shared_info is now created using the AreaKeeper, too, and this actually
  fixes some potential memory leaks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-10 12:37:27 +00:00
Axel Dörfler 96451fe133 We're now using a secondary (high priority) ring buffer for hardware
overlay - this will improve the overlay performance when the engine is
under load (the acceleration engine will use the primary lower priority
ring buffer).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-10 10:54:39 +00:00
Axel Dörfler 6bd70a559d You can now safely move the overlay off screen completely, without having to
worry that the graphics chip is fried.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-10 10:21:43 +00:00
Axel Dörfler c415480607 * an overlay_view::{h|v}_start different from 0 is now supported
* The overlay_view is now also correctly clipped when you move the overlay
  window offscreen to the left or to the right.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-09 19:34:58 +00:00
Axel Dörfler 72119ffac8 Included the phase coefficient computation from the X driver implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-09 18:31:25 +00:00
Axel Dörfler d2a76f7406 The lround() and lroundf() functions are now also found in our math.h header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-09 18:14:11 +00:00
Axel Dörfler d13fd67ac0 Imported lround() and lroundf() from glibc.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-09 18:12:35 +00:00
Axel Dörfler 18f48919c0 This little fix should allow Stippi to have a working driver when he compiled
it himself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-09 16:11:15 +00:00
Axel Dörfler f197302867 The size of the stolen memory for the graphics chip is now read out of the host bridge.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-09 01:00:58 +00:00
Axel Dörfler 9a6bbd514e Once libroot's getenv() is available, that one will be used instead of the one built in.
This makes the runtime_loader able to adopt path changes properly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-08 23:50:09 +00:00
Axel Dörfler d50e3eb20e Some quick clipping of the destination window to let VLC successfully leave full
screen mode, and let's you move the window off screen without too many problems
(if you'll move it off screen to the left side (or top), then you won't see the
contents you'd expecting).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-08 18:08:09 +00:00
Axel Dörfler 9cf9eedf9f The other color spaces now seem to work as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-08 16:11:51 +00:00
Axel Dörfler 2465e30305 Accidently set the contrast too low, overlay now looks just fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-08 15:32:52 +00:00
Axel Dörfler f8bea0dacb * Turns out you must not set the source width/height UV registers (for planar
mode), but you have to set the scaling UV registers in order to have correct
  overlay.
* In other words, overlay is working now! There are still issues with it, which
  can probably be attributed to missing bounds checks (the screen goes black
  when you leave full-screen mode in VLC - but not if overlay just stops).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-08 15:31:41 +00:00
Axel Dörfler 5dfe4fc749 Build fix for Dano.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-07 20:54:42 +00:00
Axel Dörfler 4eb16023d1 Marcus' change had a point, though: we now handle the first mode switch differently
in that we try really hard to let it succeed. If setting the desired mode failed,
we now try almost anything to get a working mode.
Since the kernel also knows the VESA mode, maybe we should better ask that one for
the current mode, as most drivers probably haven't got B_GET_DISPLAY_MODE implemented
in the we're using it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-07 18:07:37 +00:00
Axel Dörfler ae219f104e Reverted the wrong part of Marcus' earlier patch. However, I made it a bit more
safe in the sense that it no longer clobbers fDisplayMode in case B_GET_DISPLAY_MODE
fails. This fixes bug #564 resp. #566.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-07 17:00:32 +00:00
Axel Dörfler b30d7f0e05 * Now calls BApplication::HideCursor() on creation and ShowCursor() when it's
disconnected (so that you can still just call ShowCursor() to have it back,
  in case you want that).
* Rewrote WindowScreen.h.
* Cleanup, removed unused variables, renamed private methods.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-06 17:08:12 +00:00
Axel Dörfler 3df31bf306 * Fixed SetColorList(): it set the color table as array of rgb_colors, but it's
an array with 3 byte per color only - this fixes the page_flip demo as part of
  the sample code.
* Renamed mode2parms() to get_mode_parameter(). Also, it will now return "false"
  on unknown mode values so that SetSpace() will fail instead of setting some
  random mode.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-06 13:56:15 +00:00
Axel Dörfler 0e836b16bd * Fixed Select(), and Deselect*() to only send notifications if the selection
really changed - this fixes bug #519.
* Archiving the object now returns an appropriate error message if something
  goes wrong (instead of B_OK).
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-06 11:26:31 +00:00
Axel Dörfler 630e0d5f82 Looks like there is an ancient bitmap archiving format that doesn't know about
bytes per row or flags. This fixes bug #518.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-06 10:04:05 +00:00
Axel Dörfler 241893e0de Added icons for images and text/plain.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 18:39:48 +00:00
Axel Dörfler db40254ac8 Floating windows are always closable, no matter if they have focus or not.
This fixes bug #558; Cortex floating windows have the B_AVOID_FOCUS flag set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 17:04:16 +00:00
Axel Dörfler 95dfa2f806 For B_CMAP8 modes, the system palette is now set after the mode switch.
8 bit modes should now work fine under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 16:18:18 +00:00
Axel Dörfler 94f8a931c8 B_SET_INDEXED_COLORS is now working correctly for B_CMAP8, IOW you can now use
8 bit modes with this driver as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 16:17:11 +00:00
Axel Dörfler 2bbc6df8dc * The kernel now remembers the signal that killed a thread (if it was killed).
* As suggested by Korli, the signal is now encoded in the "reason" field of
  wait_for_child().
* waitpid() now sets the status passed in so that the signal can be read out
  (but it still doesn't do it's full job).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 15:33:34 +00:00
Axel Dörfler 074ebdda4a * When mounting an image, BFS no longer tries to set the file into uncached mode - this
will waste some memory (as the data will be cached twice), but unlike BeOS, it cannot
  deadlock the cache, so it's safe to be used. In other words, mounting images is now
  working as expected.
* a BFS FATAL() condition no longer results in a KDL; this seemed to confuse anybody :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 11:21:00 +00:00
Axel Dörfler 3cb039fffa When you try to mount a file image, BFS now only sees the normalized path instead
of the one supplied to fs_mount() (but not the /dev/disk/virtual/... entry, as that
wouldn't be that clear to the user).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 11:17:08 +00:00
Axel Dörfler 65bd831cbb * KDiskDeviceManager::_ScanPartition() can now run synchronously (and execute the
scan job in the calling thread).
* KDiskDeviceManager::InitialDeviceScan() now runs synchronously, so that
  get_boot_partitions() doesn't need to do this ugly wait hack.
* KDiskDeviceManager::CreateFileDevice() can now run synchronously as well, which
  fixes a deadlock in fs_mount() - note, mounting file devices still doesn't work,
  though as Haiku's BFS doesn't allow this right now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 10:54:10 +00:00
Axel Dörfler b02b72c448 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 10:44:07 +00:00
Axel Dörfler dde52de872 * _NewReadLockInfo() can no longer crash in case the allocation failed.
* _ReadLock() will now fail with B_NO_MEMORY in case the ReadLockInfo couldn't
  be created.
* Note, due to a design bug, we cannot guarantee that a previous read lock
  can be reestablished after releasing a write lock in case of low memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 10:10:05 +00:00
Axel Dörfler da09cca402 * Changed the way the overlay_view|window is maintained - it's now in Overlay.
* The overlay options as part of BView::SetViewOverlay() are now passed over
  to the graphics driver - looks like the color key stuff cannot be turned
  off (at least not via the Be API).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-04 20:25:19 +00:00
Axel Dörfler 050c3467fc * Turns out Haiku's app_server used a different color key mechanism than R5 (it's
fixed now). Tested overlay color keying okay in all supported color spaces.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-04 14:55:21 +00:00
Axel Dörfler 458c9bfb2f The color key is now correct for other modes than B_RGB32 as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-04 14:53:05 +00:00
Axel Dörfler fe19cff624 No longer invalidates the view when an overlay bitmap is updated.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-04 11:21:36 +00:00
Axel Dörfler f8915230d5 Removed check for fAddonImage in CanControlFrameBuffer() - according to Rudolf, this
method should return the correct value before the accelerant is cloned.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-04 11:12:40 +00:00
Axel Dörfler fe01155b84 * Removed the (200, 200) inset.
* fOldMode is now set to the current display mode.
* Now checks semaphore creations and memory allocations for failure.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-04 10:55:01 +00:00
Axel Dörfler 7fa10e9922 Added intel_extreme driver to the image. Shouldn't do any harm, at least :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-04 10:24:31 +00:00
Axel Dörfler 6a3543db2a * Finally the overlay looks like an overlay. It took me almost a day to realize that
the Intel chip obviously cannot do overlays in B_RGB16 - even though it pretends
  to be able to do that.
* B_YCbCr422 seems to work, though, I haven't tested any other spaces for now, and
  I somewhat doubt they will work. It's all green, though, and the scaling doesn't
  seem to be correct - that we be solvable, though :)
* There aren't any bounds checks (so don't move the window out of the screen), and
  also the overlay_view offsets are ignored.
* Scaling and moving is now detected, and there is always as little work done as
  possible to reduce the workload on buffer switches (the most common case).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-04 09:08:26 +00:00
Axel Dörfler bb40a68547 * The mapping is now also removed from the area list in case creating the
area failed.
* "base" is no longer used uninitialized in combination with B_BASE_ADDRESS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-03 10:14:36 +00:00
Axel Dörfler 6736b21a2a This should fix the wrong handling of BView::ClearOverlay() - probably, I haven't
tested it :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-02 21:22:56 +00:00
Axel Dörfler f4c4106a40 * Doh, I had done all bitfields in the wrong direction (msb to lsb, but it's actually
lsb to msb).
* The result is that there is now *something* to see when overlay is turned on. In
  fact the whole screen goes dark besides a few pixels on the top - now isn't that
  something? :-)
* The overlay is also turned off again correctly - which also revealed a bug in our
  app_server: B_CONFIGURE_OVERLAY is not always called with window=NULL/view=NULL
  to turn off overlay (might be an incorrect handling of BView::ClearOverlay()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-02 21:16:17 +00:00
Axel Dörfler 4f4035561f Hacked AccelerantHWInterface::GetDriverPath() to call the accelerants
B_GET_ACCELERANT_CLONE_INFO (as that's what the caller actually wants).
Unfortunately, it's currently hard-coded to path names, that is, if there
is a driver out there that doesn't follow this quasi standard, it will
break this mechanism.
We should either change the driver interface to explicetly use path
names, or change the mechanism we're using (in BWindowScreen upwards to
the app_server) to the one as thought by Be.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-02 20:17:45 +00:00
Axel Dörfler 6c858b7022 * Added the AGP bus manager module to the build.
* Made the graphics drivers/accelerants x86 only, as requested by Rudolf.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-02 19:10:10 +00:00
Axel Dörfler c923ce2ed2 Minor cleanup, and thanks for the fix, Rudolf! :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-02 14:17:47 +00:00
Axel Dörfler 797de116a2 * Loading and saving the settings was completely broken. I've moved to a different
file and put the window position there; loading/saving of the translators settings
  looks broken in (or rather, missing from) the Translation Kit as well.
* Now uses the new watching mechanism of BTranslatorRoster to keep track of new
  translators.
* Installing translators now gives better error requests, it now no longer uses
  undocumented BTranslatorRoster functionality, but the new IsTranslator() method
  to check if a certain file is a translator.
* Copying translators is disabled for now, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-02 00:23:22 +00:00
Axel Dörfler 1826d5c8b2 * Node monitoring didn't work correctly, as the directories were not remembered
accidently.
* Additionally, B_ENTRY_MOVED worked not correctly, as the entry_ref for the
  new entry was built upon the wrong node_ref.
* The default translator now also makes sure that the default system paths
  exist. This helps node monitoring as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-02 00:14:54 +00:00
Axel Dörfler 3e54c13abc * Fixed BDirectory::SetTo(BDirectory*, path) constructor in case the target
directory was "this".
* Fixed storage_support.h header - didn't include all needed headers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-01 16:55:46 +00:00
Axel Dörfler 9991d2b1ac * Applied patch by G. Zachrisson to fix the endless loop in _FindNextNavigable().
* Rewrote broken _FindPreviousNavigable() - it now does the exact opposite of
  _FindNextNavigable().
* Both methods did not ignore hidden views - they now do.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-01 14:57:49 +00:00
Axel Dörfler 29dfc8d391 The BTranslatorRoster now locks the looper before it adds/removes it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-30 18:18:06 +00:00
Axel Dörfler 573c4336a3 Implemented quite a hack to solve the lockless get_memory_map() problem (bug #349):
when called with interrupts turned off, get_memory_map() will now call the new
vm_translation_map_ops::query_interrupt() call.
Under PPC, this is trivial (at least right now), but on x86 we need to make sure
we have access to the page table entry, ie. we need to create an area that points
to its own page table entry, so that we can map in the page table entry containing
the address we're looking for. It's not really nice, feel free to come up with
a cleaner solution :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-30 17:45:33 +00:00
Axel Dörfler 26f4e1eba8 Reenabled interrupts in the radeon driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-30 13:57:47 +00:00
Axel Dörfler 77a08c68e8 Changed the way handlers for edge triggered interrupt are called: now, we
always call all handlers in this case, but we still try to return the correct
return code (ie. B_HANDLED_INTERRUPT and B_INVOKE_SCHEDULER).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-30 13:56:21 +00:00
Axel Dörfler f7a446f46f Oops, actually forgot to press "save" in the editor to include the real thing...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-30 13:44:24 +00:00