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.
HAIKU_* variables are copied to TARGET_*, making it possible to also
build for other targets (libbe_build, or BeOS R5 when we still allowed
that).
Thanks to Ingo for explaining how this is meant to work.
... mirroring home/config/non-packaged/
Also, sort the list lexographically and move the creation of the non-packaged
decorators directory from HaikuImage to HaikuImageCommon along with the rest.
GCC doesn't provide an ARM implementation of it. It's easy to write one
for ARMv6 and above, while older archs will need this implemented as a
syscall just like other atomics.
We have the same problem as on x86_64: posiiton dependant code isn't
allowed in shared libraries. Since Kernel.so is not used at runtime,
we can use the same hack as on x86_64, and use elfedit to make the
linker think our kernel is a shared library.
* ArchitectureRules define a variable named HAIKU_ASFLAGS, so other
Jamfiles can append to it.
* But, TARGET_ASFLAGS was used instead in the single place where we
tried to make use of this (the verdex BoardSetup), and in the As rule
* Moreover, the As rule used $(architecture) instead of
$(TARGET_PACKAGING_ARCH) (I suspect a bogus copypaste?). So, it never
actually made use of the flags
With this working, add the proper flags to the BeagleBoard BoardSetup,
so we implement atomic operations the ARMv7 way (no need to syscall).
This helps with compiling, as the As and Cc/Cpp rules now agree on the
defines and the atomic implementation to use.
Also, we are safe to enable direct mode now (it already was)
This is untested due to this screensaver currently crashing but it should
work once #10206 is fixed.
Remove obvious comment in DirectConnected
Now that this screensaver shows a preview, update the settings live
so that the display updates immediately.
Since this didn't work before this screensaver took a shortcut and only
updated the settings when the saver started.
Some other changes include:
* Update copyright header, add myself to the authors list.
* Convert Particle from using a BList to a BObjectList and remove casts.
* Use switch statement to set particle color that has a default case for blue.
* Initialize member variables to a default value in the constructor.
* Remove Constants.h, the remaining constants are in ConfigView.cpp
* Convert deprecated GroupLayoutBuilder to a LayoutBuilder template instance
* Convert GravitySource from a class to a struct since all members are public.
* Simplify realCount calculation to just a single left shift.
* A bunch of style fixes
- lots of whitespace fixes
- rename rect to frame in GravityView and ConfigView
- reorder the frame parameter first in GravityView and ConfigView
- curly brace goes on same line as class or struct declaration
This turned out to be a bigger change than I originally intended to make.
* BSecureSocket::CertificateVerificationFailed() took a BCertificate
instance by value as parameter.
BCertificate deletes internal data in its destructor. Passing an
object by value creates a copy, so the copy attempted to delete
the internal data again during its destruction.
This caused mail_daemon to crash here when it came across a failed
certificate.
* Fix: pass BCertificate object as reference.
That shows when the left and right side key roles don't match.
e.g. The left control key has a different key role than the right
control key.
The warning doesn't actually stop you from setting the modifier
keys though.
Add tooltips on the warning and stop icons explaining the
problem.
Also a couple minor style fixes.
It actually looked better before. It completely depends
on the first and last letter of the text whether there is
a pixel too much on the left or right. On average, it
looks better with the offset, since the string width often
includes the spacing needed before the next glyph on the
right, while the string touches the bounding box on the left.
What should be changed is how tight everything is in general,
the selection box should simply extend more outward. But I
don't really feel like diving into that right now.