additional parameters that are fed into a dprintf() before panic() is
invoked.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21838 a95241bf-73f2-0310-859d-f6bbb57e9c96
a BPicture, though I'm not yet sure if I should do it there on when
playing the picture...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21836 a95241bf-73f2-0310-859d-f6bbb57e9c96
offset works correctly. Drawing a BShape using a BPicture is currently
broken. Stephan, any insight on what it's changed about shape drawing ?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21835 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed a potential memory leak in EthernetSettingsView::_ShowConfiguration()
when the ioctl didn't succeed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21834 a95241bf-73f2-0310-859d-f6bbb57e9c96
passed phase 3, so they wouldn't be updated during the regular process.
I guess the other files will get that update.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21833 a95241bf-73f2-0310-859d-f6bbb57e9c96
guidelines. Three new guidelines:
- Commas between names and email adresses in header blocks.
- Indent with tabs (with lenght 4)
- Two whitelines between blocks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21832 a95241bf-73f2-0310-859d-f6bbb57e9c96
Kamikazow which can be seen as an attachment to bug #1356.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21831 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Inode::MayReleaseWriter() would release the semaphore too often; therefore,
Inode::WriteDataToBuffer() now loops in case it still couldn't write anything
instead of failing - this fixes a race condition (ie. a device is full message).
* In case the read request got filled two times (while adding the request, and
after waiting for it to become filled), ReadRequest::PutBuffer() overwrote the
output data. This fixes bug #1331.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21830 a95241bf-73f2-0310-859d-f6bbb57e9c96
of the host platform. The libtracker Jamfile seems to be the only one that
needs another exception.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21827 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Initial implementation of suggest_thread_priority. It behaves like version from BeOS R5.
* TODO take arguments 'period', 'jitter', and 'length' into account as well .
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21825 a95241bf-73f2-0310-859d-f6bbb57e9c96
drawing a string inside a picture and then playing that picture
triggered a debugger call. Fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21823 a95241bf-73f2-0310-859d-f6bbb57e9c96
before (although there should be much less lock contention)
* with this change, there is quite a bit of cleanup, text drawing is now
about 20% faster than before the original changes to font caching,
mostly due to turning off the kerning feature, which at the moment
gives absolutely no benefit. The correct way of doing it might be to
use kerning depending on the provided glyph spacing mode
* removed fPenLocation from Painter, the usage should be more correct now,
since it is now consistently applied before the coordinate transformation
from view to screen (also for DrawShape() now, before any view scaling
and origin offset)
* Painter no longer has it's own instance of a ServerFont, instead it uses
its AGGTextRenderer instance, which was per Painter again after the
last change, and not global anymore, made _UpdateFont() useless
* When using GlyphLayoutEngine, it supports a second pass with the same
FontCacheEntry through the introduction of a FontCacheReference. This
speeds up DrawString a little, since it needs to calculate the bounding
box for the string, and then draw the string in a second pass. This is
now done with only one FontCacheEntry lookup
* I also tried to optimize the on-the-fly conversion of UTF8->CharCode away,
since it was done four times per DrawString, but surprisingly, it proofed
to be a slight slowdown.
* introduced a shortcut in DrawingEngine::DrawString() which avoids
calculating the bounding box, we are now a tiny bit faster to figure
out that we don't need to draw any string than Dano
In the test environment (drawing to offscreen bitmap and blitting to
screen eventually), text rendering is now about 3.7 times _faster_ than Dano
text rendering (directly to screen), for untransformed text. Unfortunately
I cannot test on the same machine in accelerant using version of the test
environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21822 a95241bf-73f2-0310-859d-f6bbb57e9c96
and DrawString() without
* this change also includes adding the penlocation to the shape to-screem
coordinate conversion (temporarily breaks shape rendering, will be fixed
in next commit)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21821 a95241bf-73f2-0310-859d-f6bbb57e9c96
no longer use idle priority, even if an actual implementation is still
missing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21820 a95241bf-73f2-0310-859d-f6bbb57e9c96
offset of the page to insert is already in the cache. Revealed the bug
fixed with my previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21817 a95241bf-73f2-0310-859d-f6bbb57e9c96
from the store into the top cache, which could lead to pages inserted
multiple times into the cache. We don't insert a dummy page in this case
anymore. Instead we mark a freshly allocated page busy and insert that
one. That's exactly the approach the file cache uses too. This does
probably make the whole dummy page special handling in the file cache
obsolete.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21816 a95241bf-73f2-0310-859d-f6bbb57e9c96
SetTitle and NotifyQuit virtual. TermWindow now uses a TermView
subclass which closes the tab on NotifyQuit. Enabled tabbed
terminal. There are still some small glitches, most probably related
to BTabView bugs ?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21813 a95241bf-73f2-0310-859d-f6bbb57e9c96
the shell as the code would seem to do. I've disabled showing the Alert,
since system() doesn't return the return value of "alert".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21809 a95241bf-73f2-0310-859d-f6bbb57e9c96
which only specifies the rows and columns, view size is automatically
calculated, and used it in TermWindow. Added a TermView::SetTitle()
method, thus TermParse doesn't call Window() anymore. Some cleanups,
scrollbar was off by one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21808 a95241bf-73f2-0310-859d-f6bbb57e9c96
to acquire the extra vnode reference, and actually prevented unmounting from
working - which it now does again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21806 a95241bf-73f2-0310-859d-f6bbb57e9c96
removed font_support folder
* ServerApp can use ServerFont::StringWidth() directly again
* more ServerFont functions implemented via GlyphLayoutEngine and
custom consumer
* extended GlyphCache data structure to hole the left/right insets
of the glyph shape between its advance width, took it from the earlier
ServerFont implementation, have not tested if that gives same result
as R5
* TODO: implement GetGylphShapes via GlyphCache, although it might not
look as clean as it does now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21805 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed error message in Open() when the server didn't return anything.
* Made the pop3.h header self contained.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21804 a95241bf-73f2-0310-859d-f6bbb57e9c96
than you own - instead of crashing some time later, it will now panic as
soon as it can.
* No longer put the module image for B_KEEP_LOADED modules - essentially,
that feature was broken.
* Now use the RecursiveLocker in favour of manual locking where appropriate.
This actually fixed two locking bugs in error code paths.
* Applied a patch by François Revol: open_module_list() did not work
when the prefix was already inside a module (as opposed to a directory
on disk). The current solution is not as efficient, but that can be
fixed by improving the iterator code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21803 a95241bf-73f2-0310-859d-f6bbb57e9c96
This fixes unloading of the stack (some fixes to the module code that let you
determine this kind of bugs earlier will be committed next).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21798 a95241bf-73f2-0310-859d-f6bbb57e9c96
* the previous AGG implementation is superfluous
* the new implementation is based on that one, but in a way that allows
read/write locking to the list of cache entries (fonts) as well as
read/write locking to the cached glyphs per individual font cache entry
* new GlyphLayoutEngine.h, which is to be the central place for layouting
glyphs along the baseline.
It handles the locking for getting the font cache entries.
It works by giving it a template class GlyphConsumer which does the
actual work.
* changed AGGTextRenderer to use the new font cache
* changed ServerFont::StringWidth(), and the bounding box stuff to use it
* changed DrawingEngine, it doesn't need the global font lock anymore
* our BFont thought that GetBoundingBoxesAsGlyphs and GetBoundingBoxesAsString
is the same, which of course it isn't, hence the two separate functions...
AsGlyphs just gets the bounding box of each glyph in a string, not treating
the string as an actual word
AsString adds the offset of the glyph in the word to the bounding box
* changed ServerProtocol.h accordingly for the different bounding box meaning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21797 a95241bf-73f2-0310-859d-f6bbb57e9c96
before I realized that it was FontDemo which was broken. It was easy to tell
once I ran it on R5 for comparison... :-\
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21796 a95241bf-73f2-0310-859d-f6bbb57e9c96
added $(HAIKU_GCC_LIBGCC) to HAIKU_KERNEL_ADDON_END_GLUE_CODE as suggested by Ingo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21795 a95241bf-73f2-0310-859d-f6bbb57e9c96
* setpgid() when spawning the shell was superfluous, as we're already the
session leader.
* Added a comment to TermView::NotifyQuit() about why sending B_QUIT_REQUESTED
to the window isn't such a good idea when you have more than one use for it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21794 a95241bf-73f2-0310-859d-f6bbb57e9c96
* setenv() actually exists in Dano.
* On R5, it now uses sprintf() - the previous version would not compile.
* Cleaned some weird code in TermBuffer.cpp to set the "buf" variable to the
end of the string - it also no longer uses the index() BSD extension
(same as strchr()).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21793 a95241bf-73f2-0310-859d-f6bbb57e9c96
that OpenHashTable.h does not collide with all the other places that this
is used, it seems everything still builds fine. Most problematic could be
the OpenHashTable.h at kernel/util, but it seems it the target using
that are not affected.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21792 a95241bf-73f2-0310-859d-f6bbb57e9c96