Updated: 27 min 59 sec ago
ARM: Add ARMv6 or older __sync_synchronize built-in * On ARMv6 or older, we do a simulated dsb. * Move __sync_synchronize into thread.c in libroot and use the new arch_atomic.h dsb/dmb defines. * Gets arm @bootstrap-raw to end of bootstrap.
test app_server: Fix build & add font spacing test.
app_server: Fixed B_CHAR_SPACING mode. Since fonts are cached with a precision of one digit after the decimal point for the font size, the char spacing values needs to be more precise. They are now in font face units and scaled by the font size during layout. This yields the expected results of the text positioning scaling smoothly along the base line, even though the actual (hinted) glyph shape does not change with each small change of the scale (or font size).
app_server: Implemented support for B_CHAR_SPACING. It doesn't yield quiet the expected results, yet. When hinting is turned on, FontEngine takes a measurement of the precise advance values for each cached glyph by invoking FT_Load_Glyph() with the FT_LOAD_NO_HINTING flag, before loading the glyph for real without that flag. In GlyphLayoutEngine.h, the precise advance value is used for B_CHAR_SPACING. The intended result is that glyphs are rendered hinted (according to global Appearance settings), but spaced along the base-line with precise, unhinted advance values. An application would use this for example to implement precise page or print preview and also for zooming text without altering the placement of glyphs. For Gobe Productive, problems can be observed, because we don't implement this correctly, yet.
app_server: Fix applying current scale when font changes. * The code path actually used when the client uses BView::SetFont() is DrawState::ReadFontFromLink(), where it forgot to a) adopt the original font size in fUnscaledFontSize and b) scale the font by the current combined scale. Fixes remaining part of #10578.
TabDecorator: Move tracing output into tracing statement...
Font: Work on support for spacing modes. * Change default spacing to B_BITMAP_SPACING. The BeBook does not document what the default spacing is, and I have no BeOS install handy to check. However, I believe that B_BITMAP_SPACING is what should be the default, since it gives the best visible result for the common use-case. In terms of implementation, there is no change, since spacing was ignored until now and the behavior was that of B_BITMAP_SPACING. This change could however break BeOS apps which assume B_CHAR_SPACING is the default and don't set it on new when they need it. Sample code in the BeBook however shows setting B_CHAR_SPACING on a newly created BFont. * Implement B_STRING_SPACING to do something sensible. The BeBook documentation is completely vague in what it is actually supposed to do. Given the possibilities of FreeType, I am implementing it to enable the use of kerning. Kerning optimizes the spacing between two glyphs, for example, it would decrease the spacing between "T" and "e" in the string "Test" for our default font. Untested.
Font.cpp: Style cleanup * Unify asterisk style * switch indentation style of FontList declaration * Order FontList methods according to declaration * Use named constants in default BFont constructor for spacing and encoding.
ARM: Simplify board specification * Don't assume verdex as it isn't clear this was occurring. * Make an educated guess on HAIKU_BOOT_PLATFORM based on provided board (but still allow it to be overridden) * Error out if user doesn't populate HAIKU_BOOT_PLATFORM or enters an unknown board name. * You need to add "-sHAIKU_BOOT_BOARD=xxx" to your jam to build for the proper ARM device. * Rename beagle to beagleboneblk as per the documentation.
Fix missing break statement (CID #1108253)
Gravity: Add break fixing white option
PackageInstaller: Unbreak selecting custom install folders. BFilePanel always sends B_CANCEL when it hides (as documented in the BeBook), not just when the user cancels the file panel. Track what message we expect and only react to B_CANCEL when it means the user really canceled selecting the target folder.
gawk: use the HaikuPorts package. * left the in-tree version as its libintl is used by gdb. * added as bootstrap package.
ScreenSaver: pass in true to get a preview Fixes #10602 This was a simple mistake on my part, unfortunately this means that a bunch of screen savers that showed preview fine before no longer do.
Add gawk package for x86, x86_64 and x86_gcc2.
ScreenSaverRunner: Fix segmentation fault loading bad screen saver. When Settings.ModuleName() returned NULL here we got a segmentation fault trying to access the pointer. I ran into this trying to load up a non-screensaver executable in ScreenSaver, it crashed instead of doing the right thing and refusing to load. Also, since we go to the trouble of saving this to a variable, we should actually use it.
ScreenSaverSettings: Check that name is valid ... before trying to use it in GetModuleState() and SetModuleState() also, rename the stateMsg variable to stateMessage (already correct in header)