TimeTracker lets you create tasks for your various projects and
shows them in a list. Via double-click on an entry you start/stop the timer
on that task, thus helping you keep track of how much time you spend doing
what.
The #pragma weak does not work, the symbol is not defined and when
already defined, it is not made weak. Moreover, it does not make the
symbol global so we need to declare it with a FUNCTION.
If we want the symbol to be weak, then we should use .weak to do so. The
_longjmp symbol should also be changed to match, in that case.
Fixes#12912.
ThreadHandler:
- When single stepping, verify that current instruction pointer is
actually within a valid image. Otherwise we'll crash attempting to
retrieve debug information for it.
DwarfImageDebugInfo:
- While computing return value locations, we need to re-evaluate
the availability of debug information as we're forced to traverse
around images to resolve the location of a function call. Otherwise,
we may crash as one of the called functions may belong to an image
that wasn't compiled with debug info.
A few weeks back, I spotted in the Musl FAQ that they apparently ship
empty libm.a and libpthread.a files (https://www.musl-libc.org/faq.html),
which they said was for POSIX compatibility. A bit of digging got me to
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/c99.html which
says:
> It is unspecified whether the libraries libc.a, libl.a, libm.a, libpthread.a,
> librt.a, [OB] [Option Start] libtrace.a, [Option End] libxnet.a, or liby.a
> exist as regular files. The implementation may accept as -l option-arguments
> names of objects that do not exist as regular files.
So to follow the letter of the law, we only need to have the "c99" command
accept these; however, it appears all Linux and BSD cstdlibs accept them
no matter what compliance mode is in effect.
Discussed with PulkoMandy. This will make HaikuPorts' job a lot easier...
These are not perfect, but better than using the default app icon. Feel
free to improve.
- DNS resolver: phonebook icon
- App-server: hand + app icon
- Keystore: key lock
- Launch daemon: croissant (to get the day started)
- Net server: hand + earth
- Package daemon: hand + package
- Power daemon: CF lightbulb
- This is how it is named in other versions of elf.h (Linux, glibc, possibly more)
- ELF_MAGIC is used by libelf for the same thing, and the defines conflicts,
breaking libelf build on Haiku.
Similar to Linux netconsole, this should send all debug output over UDP
to the broadcast address. It can be listened to with netcat or similar tools.
This could be an easy way to extract KDL info from a crashing machine
when no serial ports are available.
Does not work yet, help welcome.
The boot still crashes some time later, but at least it is easier to
test now.
- PackageFS included in the net boot archive
- Tell the system it is booted "from image" when netbooting
This works around a KDL in the driver due to the buffer address passed
to write() being unmapped in the destructor, and the driver doesn't
properly checks those yet (BeOS used to lock_memory() on read/write buffers).
You can drag a color square from the color preview and drop it
anywhere that accepts a color drop.
This allows you to use the color drop feature more readily
for example to change the desktop background color or change the
color of Deskcalc.
Also did some refactoring of ColorPreview class. Make it a BControl
which eliminates the enabled bool and invoker which both are handled
by the inherited BControl class.
Did some refactoring.
* Renamed a couple of class variables following convention
* Also renamed a couple of method parameters for the same reason
Don't call Draw() directly, this is frowned upon, instead use
Invalidate() so app server can draw at the appropriate time.
* Did not use std::nothrow, but exceptions were not catched.
* MessageLooper::Run() now returns a status code.
* There are a lot more cases of a new without nothrow that need to
be investigated.
Add an Icon() and SetIcon() method. Override SetMarked() to set the
parent menu field icon.
Don't move the label right if icon is NULL. Make the first menu item
an IconMenuItem with a NULL icon. This allows the icon to draw in the
closed menu state.
icon gets updated even if you select an item in a submenu
http://insightfactory.tumblr.com/image/142366356207
* Make the color box a rectangle with proportions of golden ratio.
* Override GetContentSize() to make menu item area larger.
* Label should never truncate since I make sure there is enough room.
* Draw the label using BMenuItem parent class
* Carefully adjust the spacing so that there is an attractive amount of
padding between the checkmark and color box and the color box and label.
Add _AddMenu method to BMenuField that adds BColorMenuItem as its
base menu item. This shows the BColorMenuItem in the closed state.
Create BPrivate::MenuItemPrivate
Add a SetSubmenu() method to MenuItemPrivate that gives you
the ability to add a submenu after creating the object. This
method should be public
Skip disabled items
Color gets updated even if you select an item in a submenu
...so that the text when the menu is closed lines up with the text
when the menu is open.
The checkmark is draw to the left of left edge of the closed menufield.
- Introduce base classes RemoteDebug{Request,Response} and the first set of
implementing subclasses for the various types of debug requests. These
encapsulate the information needed to make a request to the target debugger
interface, as well as a means to flatten/unflatten to a BMessage. These will
be used to marshal the relevant information for transmission across the
eventual transport interface. Not used anywhere yet since there still remain
some requests and responses to implement, among other things.
Architecture:
- Store and provide accessor for the size in bytes of the low-level
debug_cpu_state size of the respective target CPU. Adjust subclasses
to pass in the appropriate size information.
- Split into separate subdirectories for each interface type, as is done in
the target_host_interface subdir. Preparation for the remote interfaces,
which will have quite a few more components than the existing local ones.
Originally, the tmp folder was in /boot/common, where it didn't show
an alert box. Since the move to /system, it simply fell into the general
"is in system directory" case.
Fixes#10173.