Commit Graph

49692 Commits

Author SHA1 Message Date
John Scipione
fa412b5fd9 BMenuItem: Style fixes related to documentation. 2014-02-28 19:05:34 -05:00
John Scipione
41c51f73d1 ScreenSaver: use stack variable to prevent memory leak 2014-02-28 17:16:26 -05:00
John Scipione
00d9a29e2e ScreenSaver: Stop saver on General tab.
Unfortunately OpenGL screen saver previews draw on top of the tabview,
so, when you switch to the General tab we now stop the screen saver
and then restart it when you come back to the Screensavers tab.
2014-02-28 16:45:26 -05:00
Philippe Saint-Pierre
c08eb212ef Radeon accelerant: typo in vertical limit check (CID #991138) 2014-02-27 22:01:34 -05:00
Philippe Saint-Pierre
3d5ede23c2 Wrong variable used in null-check (CID #1108197) 2014-02-27 21:40:15 -05:00
John Scipione
847e14f002 Turn class diagrams back on 2014-02-27 17:36:57 -05:00
waddlesplash
dba29137b2 Tweaks to the API documentation
* Update the Doxyfile for 1.7.6.1. Doxywizard reformatted the comments; that's why this change is so big
  * Disable graph inheritance trees; use "Inherits/Inherited by" lists instead (Doxygen has this on by default; I don't think it was intentional)
  * Shorten two subgroup names; helps with formatting in Doxygen 1.8 and looks cleaner
  * Moves the page footer ("The Haiku Book pre-R1...") be in a <footer> tag, and add a CSS rule for this tag
  * Disable XML output, no one is using it
  * Disable Microsoft IDL parsing, speeds up Doxygen a bit
2014-02-27 17:21:51 -05:00
Pawel Dziepak
3ed7ce75b3 kernel: Relax atomic loads in SMP code
The main purpose of using atomic_get() was the necessity of a compiler
barrier to prevent the compiler from optimizing busy loops. However,
each such loop contains in its body at least one statement that acts
as a compiler barrier (namely, cpu_wait() or cpu_pause()) making
atomic_get() redundant (well, atomic_get() is stronger - it also issues
a load barrier but in these particular cases we do not need it).
2014-02-27 02:21:13 +01:00
Pawel Dziepak
e31212e4d7 kernel: Fix acquire_read_spinlock() acquire checks
If the initial attempt to acquire read spinlock fails we use more relaxed
loop (which doesn't require CPU to lock the bus). However, check in that
loop, incorrectly, didn't allow a lock to be acquired when there was at
least one other reader.
2014-02-27 02:21:13 +01:00
John Scipione
8cdefee93f ScreenSaver: fix gcc4 x86 and x86_64 builds
Create a static const variable to take the address of instead of
taking the addess of a temporary.
2014-02-26 19:24:54 -05:00
Alexander von Gluck IV
5006aac272 radeon_hd: Clean up DP training
* Few tweaks to DP training
* Check for TP3 support and go with TP3 if needed
* Make training more verbose
* Fix DP snoose on ce
2014-02-26 17:17:44 -06:00
Julian Harnath
ad64943039 Fix spinlock usage in kernel's system profiling
* Removal of gSchedulerLock left a few SpinLockers around which were
  now without locked interrupts.

* Makes scheduling_recorder work again.
2014-02-26 23:08:41 +00:00
John Scipione
58b592b3b5 ScreenSaver: Add "No preview available" text
... when a screensaver doesn't provide a preview.

Also do a bit of refactoring in PreviewView, remove unneeded includes
2014-02-26 17:58:42 -05:00
John Scipione
0591d8477c ScreenSaver: Refactor ModulesView
Create controls in initializer list of constructor, delete controls in
the (newly-added) destructor.

Make fSettings the first private member.
2014-02-26 17:58:41 -05:00
Stephan Aßmus
46b39e8378 app_server: Fixed issues in Painter.
* DrawPolygon was offsetting coords to pixel centers
   regardless of whether the polygon was stroked or
   filled, leading to wrong results for filling. Now
   it offsets for stroking only and even takes pen-size
   into acount. The bug was visible in Gobe Productive's
   selection rendering.
 * Renamed _Transform() methods to _Align(), which fits
   better with what they do: Align coordinates with the
   pixel grid.
 * Changed rounding behavior for StrokeLine. Offsetting
   to pixel centers depending on pen-size happens regardless
   of sub-pixel mode. This means a stroked line on integer
   coordinates looks the same in both modes. It breaks
   some drawing in WonderBrush (brush cursor), which was
   exploiting the previous behavior, but unbreaks Gobe
   Productive caret rendering at zoom levels below 150%.

Both changes bring Gobe Productive text editing to a useable
level.
2014-02-26 23:55:52 +01:00
Stephan Aßmus
c54e7ddb00 app_server: Fixed build with tracing enabled. 2014-02-26 23:55:52 +01:00
Julian Harnath
f0ccf10243 Fix AMD CPU selection in generic_x86 kernel add-on
* The AMD-part of the add-on is supposed to reject some very old
  models. However, a bug in the selection code caused it to reject
  anything with model-number smaller 9 regardless of model-family.
  This caused MTRR setup to not happen on many AMD CPUs and Haiku
  being very slow on these machines.

* Fixes #10571
2014-02-26 21:47:41 +00:00
Alexander von Gluck IV
d035469704 ARM: Name beagleboneblk back to beagle
* Pulkomandy pointed out that all Beagle hardware is
  very similar so we could likely get away with a single
  ARM target board.
2014-02-26 15:33:40 -06:00
Alexander von Gluck IV
e2c2a5cefe radeon_hd: Fix app_server bt regression introduced at hrev46862
* We adjusted the array of pointers to be larger, but
  didn't adjust the malloc to be larger.
* Should solve #10563 and maybe #10536
2014-02-26 15:23:53 -06:00
Alexander von Gluck IV
8cfbbff4df ARM: Fix dmb opcode 2 on ARMv6
* Typo, also fix tabs
* Sorry for the spam, this should be correct now
2014-02-26 13:22:18 -06:00
Alexander von Gluck IV
b6994f96c0 ARM: Break apart ARMv5 and older dsb/dmb
* Add isb just because.
* pdziepak pointed out that ARMv5 and before
  had different barrier support.
* pdziepak also mentioned that dsb was too strong
  for __sync_synchronize
2014-02-26 13:17:21 -06:00
Alexander von Gluck IV
a21611e439 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.
2014-02-26 12:51:51 -06:00
Stephan Aßmus
cb7de03cca test app_server: Fix build & add font spacing test. 2014-02-26 11:51:40 +01:00
Stephan Aßmus
b8f4968d9b 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).
2014-02-26 11:51:39 +01:00
Stephan Aßmus
d9d14326ca 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.
2014-02-26 11:51:39 +01:00
Stephan Aßmus
a4655126c9 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.
2014-02-26 11:51:38 +01:00
Stephan Aßmus
d2919781c3 TabDecorator: Move tracing output into tracing statement... 2014-02-26 11:51:38 +01:00
Stephan Aßmus
91233f88a3 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.
2014-02-26 11:51:37 +01:00
Stephan Aßmus
569eed2db5 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.
2014-02-26 11:51:36 +01:00
Alexander von Gluck IV
6d3363214f 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.
2014-02-26 00:27:18 -06:00
Philippe Saint-Pierre
75a80fb341 Use delete[] on array (CID #701816) 2014-02-25 21:31:08 -05:00
Philippe Saint-Pierre
6e536502db Fix missing break statement (CID #1108253) 2014-02-25 21:04:38 -05:00
John Scipione
2094bbb315 Gravity: Add break fixing white option 2014-02-25 18:14:06 -05:00
Stephan Aßmus
792a46db79 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.
2014-02-25 22:34:33 +01:00
Jérôme Duval
91e3737dd8 gawk: use the HaikuPorts package.
* left the in-tree version as its libintl is used by gdb.
* added as bootstrap package.
2014-02-25 22:20:32 +01:00
John Scipione
e9dcbbeb35 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.
2014-02-25 16:07:13 -05:00
Jérôme Duval
211f2edbfc Add gawk package for x86, x86_64 and x86_gcc2. 2014-02-25 21:46:58 +01:00
John Scipione
e9a0833a86 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.
2014-02-25 15:00:13 -05:00
John Scipione
9d312ae750 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)
2014-02-25 15:00:12 -05:00
John Scipione
94f8ac8cf1 ScreenSaverRunner: print errors to stderr instead of stdout.
Also print on a couple of new error cases:
* print and error if fSaver is NULL,
* print and error if unload_add_on failed.
2014-02-25 15:00:11 -05:00
John Scipione
06f133c1f2 ScreenSaverRunner: treat load_add_on return value like an image_id
... rather than a status_t, because that's what it is.
2014-02-25 15:00:09 -05:00
John Scipione
84466cefd3 ScreenSaverRunner: check return value of methods 2014-02-25 15:00:08 -05:00
John Scipione
d960838b5b ScreenSaverRunner: clarify some comments 2014-02-25 15:00:07 -05:00
John Scipione
4116ae4ffd ScreenSaverSettings: check find_directory return value 2014-02-25 14:58:38 -05:00
John Scipione
6d55c2c490 ScreenSaver: check function return values for success 2014-02-25 14:58:38 -05:00
John Scipione
a3dc72e69c ScreenSaverSettings: Silly indentiation fix 2014-02-25 14:58:37 -05:00
Jérôme Duval
8b804bc17b findutils: use the HaikuPorts package.
* removed in-tree version.
* added as bootstrap package.
* note: HaikuPorts package has no rdef for binaries.
2014-02-25 17:58:32 +01:00
Stephan Aßmus
99d23e5198 app_server: Apply scale to round corner radius. 2014-02-24 11:43:54 +01:00
Stephan Aßmus
fe3c024016 EXRTranslator: Catch any exception.
Experimenting with avoiding some RTTI bug that triggers
when old BeOS binaries iterate Translators.
2014-02-24 11:43:54 +01:00
Humdinger
15a4535714 Updated UberTuber to v0.9.10 2014-02-24 10:56:38 +01:00