information into account, ie. we now behave like the Terminal on BeOS, and only
allow to switch between the Terminal windows of one workspace.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28130 a95241bf-73f2-0310-859d-f6bbb57e9c96
current size of the Terminal in characters.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28125 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed a general problem with respect to overriding of the reserved
virtual function slots: instead of statically invoking the method
that corresponds to the reserved slot on the class that contains the
slot, we now invoke the virtual Perform() method. Perform() then dispatches
the method invocation to the "proper" class, i.e. the highest class in the
hierarchy that actually implements the requested method.
This fixes a crash in apps that use liblayout's MSlider class and
should fix one or other spurious bug with old apps or libraries, too.
* added new header folder 'binary_compatibility' that contains files that
define the method codes and data structures required by Perform()
* looked for and implemented all used reserved virtual slot functions to
invoke Perform() where necessary or to pass on the method call statically
(for slots that were already maintained by Be)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28124 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Replaced "group" with groupIndex, "group" is now a reference to the
AllocationGroup.
* Renamed some variables for clarity.
* No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28123 a95241bf-73f2-0310-859d-f6bbb57e9c96
though there was no problem.
* Nevertheless, improved output of that warning :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28121 a95241bf-73f2-0310-859d-f6bbb57e9c96
uninitialized memory. Fixes a crash on boot with a preloaded settings file
present that wasn't used before the boot device was available (like the vm
settings file).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28119 a95241bf-73f2-0310-859d-f6bbb57e9c96
wrong version of ConvertFromScreen() was now used, resulting in the calculation
being computed and thrown away. This broke BMenu, probably amongst other things.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28118 a95241bf-73f2-0310-859d-f6bbb57e9c96
could check memory beyond the block and then tried to allocate that on the
correct block (would possibly lead to KDL).
* Made AllocationBlock::Allocate() and Free() inline.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28117 a95241bf-73f2-0310-859d-f6bbb57e9c96
if the largest block was marked invalid or not. Thanks for testing, luroh :-)
* Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28113 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Accidently did not start at different positions in the string to build the
hash, but just added some value to the hash...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28112 a95241bf-73f2-0310-859d-f6bbb57e9c96
so that allocations can be directly fulfilled from that block without having
to search for it.
* This should further improve the allocator's performance, but it could need
more tuning (ie. when to rebuild the free block).
* Added debugging code to check if the largest block is maintained correctly;
it's currently turned on (DEBUG_ALLOCATION_GROUPS) which makes allocations
actually pretty slow - I'll disable it again after it has been tested a bit
more.
* Added a "bfs_allocator_blocks" KDL command that allows you to show all
tracing entries that affect a specific block (only available if BFS has
been compiled with tracing support).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28111 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Implemented BGradient, BGradientLinear, BGradientRadial,
BGradientDiamond, BGradientConic and BGradientRadialFocus
new Interface Kit classes.
* Implemented all the (AGG-based) backend necessary in
the app_server to render gradients (Painter, DrawingEngine)
* app_server/View can convert a BGradient layout to screen
coordinates.
* Added BGradient methods of the Fill* methods in BView.
* Implemented a test app and added it to the image as a
demo.
* Adopted Icon-O-Matic and libs/icon in order to avoid
clashing with the new BGradient class. Re-use some
parts where possible.
Awesome work, Artur! Thanks a lot. Now a more modern
looking GUI has just become much easier to implement! :-)
TODO:
* Remove the need to have gradient type twice in the
app_server protocol.
* Refactor some parts of the patch to remove duplicated
code (Painter, DrawingEngine).
* Adopt the BPicture protocol to know about BGradients.
* Review some parts of the BArchivable implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28109 a95241bf-73f2-0310-859d-f6bbb57e9c96
example. One could also design them to be 3D icons like regular icons.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28099 a95241bf-73f2-0310-859d-f6bbb57e9c96
- initialize the time_base_frequency kernel arg (should be done in the bootloader though...). We will use MFP timer to support system_time(). At least try to.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28098 a95241bf-73f2-0310-859d-f6bbb57e9c96
16 x 16 to 64 x 64).
* Changed the layout code to have dynamic padding depending on main icon size.
* Fixed a problem with the "Auto Raise" feature where, when the pad was along
the bottom, you had to tip the top of the screen with the mouse for the pad
to raise...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28096 a95241bf-73f2-0310-859d-f6bbb57e9c96
new '-u' option, or let it generate one automatically (by building a hash over
the full path of the image).
* This is allows you to use our images in VirtualBox without having to readd
the hard drive with every rebuild.
* Enlarged the description section to 1024 bytes - this also prevents VirtualBox
from writing data beyond the description size.
* Added '-d' option to just dump info about an existing vmdk image file (only
monolithic mode is supported, though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28093 a95241bf-73f2-0310-859d-f6bbb57e9c96
by tab indents everywhere.
* Remove special handling in map_physical_memory to handle page offset and
length. Opposed to BeOS, Haiku does both automatically.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28091 a95241bf-73f2-0310-859d-f6bbb57e9c96
written on load of the ACPI module.
* Fix waiting for a semaphore. It didn't ever use the timeout because it missed
the B_RELATIVE_TIMEOUT and the timeout value would've been wrong as well
since it didn't convert from milli- to microseconds.
* Do away with the hack of not actually using spinlocks because it apparently
didn't work on Dano. Now normal spinlocks are used.
* Also remove the atomic test and set function that was used for locking.
* Panic in case an interrupt handler is removed, because it cannot (yet) work.
* Use system_time() to instead of using gettimeofday() and converting.
* Fix reading PCI config, the width was used wrongly so nothing was returned.
* The physical memory read/write function didn't actually do anything or would
at worst have accessed unmapped memory. It now uses a bit of private VM
functionallity to actually implement reading and writing physical memory.
* Some style cleanup, more to come in the next commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28090 a95241bf-73f2-0310-859d-f6bbb57e9c96
* When the consumer does not want to consume a glyph, make
sure the advance values are being reset before breaking out of the
loop. These are used one more time after the loop.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28083 a95241bf-73f2-0310-859d-f6bbb57e9c96