* Reorganized the kernel locking related to threads and teams.
* We now discriminate correctly between process and thread signals. Signal
handlers have been moved to teams. Fixes#5679.
* Implemented real-time signal support, including signal queuing, SA_SIGINFO
support, sigqueue(), sigwaitinfo(), sigtimedwait(), waitid(), and the addition
of the real-time signal range. Closes#1935 and #2695.
* Gave SIGBUS a separate signal number. Fixes#6704.
* Implemented <time.h> clock and timer support, and fixed/completed alarm() and
[set]itimer(). Closes#5682.
* Implemented support for thread cancellation. Closes#5686.
* Moved send_signal() from <signal.h> to <OS.h>. Fixes#7554.
* Lots over smaller more or less related changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42116 a95241bf-73f2-0310-859d-f6bbb57e9c96
AcquireReference() now does, and adjust all callers that relied on the previous
return type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42091 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Also add equivalent methods to the layout builders in LayoutBuilder.h
* BSplitView now calls BControlLook::ComposeSpacing(), instead of BSplitLayout
* part of #7447
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42077 a95241bf-73f2-0310-859d-f6bbb57e9c96
is deleted/recreated in between retrieval and lock. Report failure if so.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42073 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Rename BControlLook::ComposeItemSpacing() to ComposeSpacing(), and extend it to handle the new constants.
* Adjust users of BControlLook::ComposeItemSpacing() accordingly.
* part of #7447
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42025 a95241bf-73f2-0310-859d-f6bbb57e9c96
menus since it is no longer needed after r40132/r40142. Thanks diver for the
reminder.
#5809 can finally be closed again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42017 a95241bf-73f2-0310-859d-f6bbb57e9c96
semantics, I'd recommend introducing an _IsDataPending() with sane semantics
and use that.
* IsDataPending() Added TODO regarding possible overflow.
* SetTimeout(): Added TODO regarding consistency.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42009 a95241bf-73f2-0310-859d-f6bbb57e9c96
keyboard navigation/tracking of BMenus and BMenuBars, although
many issues remain.
Should not yet go into alpha, since there is one issue which
I am not sure if it's not a regression. The issue is that
invoking a menu item with Enter for the first time seems to
have no effect, while invoking it subsequently works as
expected. I don't know, yet, if that's a regression of this patch.
In any case, it's better than before, thanks, Pete!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42004 a95241bf-73f2-0310-859d-f6bbb57e9c96
or long click happened between the initial mouse down and the present mouse up.
Tried to avoid this solution by other means but wasn't working in a corner case,
at least it's clear what's the code is doing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41934 a95241bf-73f2-0310-859d-f6bbb57e9c96
used to work before, i.e right mouse button dragging works and the context
menu shows on mouse up if not dragged. I guess that at some point we'll rethink
all the mouse gestures we support and maybe simplify a bit, like dropping
long click support (as an emulated right button), and possibly
separating some features via user settings if needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41929 a95241bf-73f2-0310-859d-f6bbb57e9c96
that mode when they support it. Right now there is only usb_hid though. With
this commit controllers with an arbitrary number of axes, hats and buttons are
now supported by BJoystick and by the BJoystick <-> driver protocol as well as
by usb_hid (usb_hid doesn't yet have support for hats though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41893 a95241bf-73f2-0310-859d-f6bbb57e9c96
The new asynchronous tracking doesn't lock the view and makes desktop
replicants happy while clicking and dragging around. Fixes#880, #7241
and certainly other tickets, that i will revisit, about refresh locks
on the desktop or mouse related bugs. Based on a reusable MessageFilter and the
recent B_MOUSE_IDLE message. Some parts are ported from the old code
and could use further simplification.
There should be no intentional user fonctional change, except:
- slightly bigger threshold radius, shorter duration thresholds
(= 1.0 x the system-wide doubleclick setting)
- not reimplemented: quickening threshold when holding shift while dragging
a pose over a destination pose.
Some parts are ported from the old code and could use further simplification.
There is one known minor regression with autoscrolling while
rect-selecting but that will be better fixed with some changes to the
autoscroll code. Will address that ASAP. As for the unknown regressions,
please test :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41892 a95241bf-73f2-0310-859d-f6bbb57e9c96
into joystick_driver.h as it is convenient to have also on the driver side.
* Added comments explaining the data structure and use case of the structure.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41886 a95241bf-73f2-0310-859d-f6bbb57e9c96
inside BJoystick.
* Add joystick_module_info flag to communicate support for variably sized reads.
* The variably sized data structure is set up to describe either the actual
amount of data, when variably sized reads are supported by the driver, or it
is set up so that it exactly matches the data layout of the extended_joystick
structure. This allows us to support both as input data, while only needing to
care about a single format inside BJoystick. Convenience pointers allow the
data to be retrieved without additional overhead or extra logic.
* Add some sanity checks and ensure some boundaries when dealing reading data
from the variably sized structure (as there might not be any buttons, hats,
axis at all now).
* Ensure that the extended_joystick structure doesn't change in size due to
padding by making it _PACKED (it wasn't padded though).
This is still supposed to work exactly as before. However, it opens up the
possibility to actually support arbitrary controllers with arbitrary axis, hat
and button counts. It therefore allows to actually deliver what the BJoystick
API was designed to handle all along.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41885 a95241bf-73f2-0310-859d-f6bbb57e9c96
Get*Values() functions but retrieves an arbitrary amount of button states using
a boolean array. This overcomes the 32 button limitation on the API side. Right
now the function does simply set the first 32 states from the button bitmap, as
the BJoystick to driver interface hasn't been adapted yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41882 a95241bf-73f2-0310-859d-f6bbb57e9c96
already anyway (as compared to the original BeOS ones) this won't introduce any
missing symbols.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41879 a95241bf-73f2-0310-859d-f6bbb57e9c96
declarations to group them more logically. No functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41878 a95241bf-73f2-0310-859d-f6bbb57e9c96
documented in the BeBook. Sadly the success return is specified as "a positive
integer", so I didn't change it to B_OK.
* We actually want non-blocking mode, so don't reset the O_NONBLOCK flag. It was
ignored before anyway though, so this doesn't change anything.
* The legacy buttons 1 and 2 are in the pressed state when false, so initialize
them to true instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41876 a95241bf-73f2-0310-859d-f6bbb57e9c96
(which is uint32), but the legacy BJoystick axis values are just the same int16
as the ones in extended mode, so nothing has to be done besides assigning them.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41875 a95241bf-73f2-0310-859d-f6bbb57e9c96
to be updated with newly plugged in devices without the need to recreate a
BJoystick object.
* Do an initial (re-)scan on object creation instead of always scanning in
CountDevices() and by extension GetDeviceName().
* This makes CountDevices() and GetDeviceName() stable with regards to the
device list, so that an enumerating application doesn't suddenly get more/less
devices than it might expect.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41870 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Include sorting, header style, macro naming, variable naming, spacing, ...
* Some simplifications, early returns and the like.
* The device name list items were allocated with new but deleted with free. The
whole private BJoystick list being modified by a friend class is dubious
though and should be reworked. Ideally node monitoring would be implemented
so that the list can be re-populated on demand instead of scanning through
every time.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41868 a95241bf-73f2-0310-859d-f6bbb57e9c96
info and values. Inspired by and in parts based on the patch by caz_haiku in
ticket #7429 (though rewritten completely due to the other changes). Thanks
for the pointers!
* Clean up the mixup of internal joystick info and the one from
joystick_driver.h so that BJoystick and the drivers talk about the same
structures.
* Extensive coding style cleanup, simplifications, NULL checks, early returns,
std::nothrow allocations, include sorting, argument naming, ... that kind of
stuff.
* Added some TODO notes for remaining stuff.
* Automatic (and manual) whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41849 a95241bf-73f2-0310-859d-f6bbb57e9c96
is loaded. SMTP and POP still have this problem! TODO: use the ServerConnection class in these add-ons too.
This would also remove a lot of #ifdef SSL form these add-ons. Will not do it in the near future, feel free to fix it
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41840 a95241bf-73f2-0310-859d-f6bbb57e9c96
correct semantics. I expected that the looper is dead when SendMessage returned. This should fix#7559 where the looper
destructor has to be called before continuing the cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41821 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Changed ShowImage to use that function.
+alpha in case Ingo gives his okay :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41782 a95241bf-73f2-0310-859d-f6bbb57e9c96
former just calls the latter. Getting the flag for a language is pretty
simplistic for now, but it won't return the wrong flag, just only a few known
ones (should be enough for ReadOnlyBootPrompt, at least).
* Ordered methods in declaration order.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41744 a95241bf-73f2-0310-859d-f6bbb57e9c96
the beginning.
* Added header for the get_decorator() functions and friends.
* Minor coding style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41638 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fixes#7543 (ReadOnlyBootPrompt only showing English welcome text).
* Disabled fingerprint check in linkcatkeys. Fingerprints change due to the
BHashMapCatalog::SetString() change.
+alpha 3
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41629 a95241bf-73f2-0310-859d-f6bbb57e9c96
* I tried to reuse as much state from BControl as possible, so I removed a few
states.
* Also made the flags private, and added protected SetInside()/IsInside()
methods.
* Removed useless BIconButton::ID().
* Adjusted users.
* Minor cleanup, automatic white space cleanup.
-alpha
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41611 a95241bf-73f2-0310-859d-f6bbb57e9c96
which I misunderstood. setdecor can now refer to decorators by their
short (i.e. file system) name as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41602 a95241bf-73f2-0310-859d-f6bbb57e9c96
This changes how Decorators are managed and applied. The app_server
no longer scans and maintains the available ones himself, but is
simply asked to load a Decorator add-on from a provided path.
The Decorator scanning is moved into DecorInfo and DecorInfoUtil,
private classes in the InterfaceKit. The bin command 'setdecor'
uses those.
I cleaned up all the coding style violations that I could find,
removed chunks of code which didn't make sense (if you never put
a NULL pointer into a list, you don't need to check for this and
so on) and also cleaned up other passages for improved clarity
and simplicity.
I also tested the functionality and it works fine. Would even be
Ok to include in Alpha 3, IMHO. Thanks for the patch!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41581 a95241bf-73f2-0310-859d-f6bbb57e9c96
layout API, we probably can just phase it out after a while.
* Introduced new constructors, and added missing flags to one of them to make
it more convenient to use.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41350 a95241bf-73f2-0310-859d-f6bbb57e9c96
* GS, KY and PN all share the same flag, because I'm too lazy to add their
specific code of arms, which one wouldn't recognize in the small flag
anyway... At least every country is now listed in CountryFlags.rdef, so
anyone can improve flags and simply replace the rdef data there.
* Added newly generated CountryFlags.rdef
* Added little script to create CountryFlags.rdef to build/scripts/ just in
case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41292 a95241bf-73f2-0310-859d-f6bbb57e9c96
* add SetRawString() to both implementations of DefaultCatalog which sets
the translated string as given
* use SetRawString() in both (standard- and build-)versions of linkcatkeys
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41167 a95241bf-73f2-0310-859d-f6bbb57e9c96
February only has 28 to 29 days, so setting the current day may fail).
* This caused bug #7421.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41155 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Disallow renaming of entries with localized names for now - this is meant to be temporary - and so far only in Tracker's Info window. Renames do not result in a change, visually, as the localized name hides the real name, and results in a bad user experience. One could possibly allow renames of the localized name, writing it back to the catalog. I've experimented with using BCatalogAddOn::SetString() but haven't been able to make it stick yet.
* Disallow renaming Trash in Tracker's Info window via Command-E.
* Adjust the argument order of BLocaleRoster::GetLocalizedFileName().
* Add a BLocaleRoster::GetLocalizedFileName() variant to look up another app's name given its signature and unlocalized, canonical name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41126 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fix header order, ups never changed a libbe file before ;) thx Oliver. Add small optimization as pointed out by Ingo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41093 a95241bf-73f2-0310-859d-f6bbb57e9c96
an appropriate offset when the button is drawn in
pressed look. Fixes the bitmap being drawn with a
much too big offset.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41056 a95241bf-73f2-0310-859d-f6bbb57e9c96
- context menu of the replicant dragger. Fixes#7363;
- default <empty> menu placeholder. Fixes#7072;
- other messages used in PrintJob, Dragger and ZombieReplicantView classes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40991 a95241bf-73f2-0310-859d-f6bbb57e9c96
alternating account names (once AccountName_1 the other time just
AccountName).
Sort accounts by creation time. This fix the order in mail
preferences.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40983 a95241bf-73f2-0310-859d-f6bbb57e9c96
afterwards, and BJoystick won't work.
Also reset it to -1 in the destructor for symmetry.
Found by Carwyn Jones. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40900 a95241bf-73f2-0310-859d-f6bbb57e9c96
tracker task thread, which got broken/removed in r40226.
* Also fixed a race condition that the previous code
had, which is that after unlocking the window, the task
thread could be interrupted, the window could theoretically
go away and the view be destroyed before the thread continues,
but we still access/dereference the BView pointer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40698 a95241bf-73f2-0310-859d-f6bbb57e9c96
Notes:
- FileTypes: The "Same as" button label separated to two entities in dependency of
context: "Same Type as ..." and "Same Application as ...";
- Tracker: The sentences like "If you do %action [...]. To do %action [...]"
now use separately translated verbs for so called
"ifYouDoAction" and "toDoAction";
- NetworkStatus: NetworkStatusView _ShowConfiguration is fixed back after previous
attempt to localize it in r37337: useless code bloating purged out,
broken quasi-header "ifaceName information:" pulled back from Hell;
- StyledEdit: Menu item "Can't undo" had different casing in some situation. Looks
like HTA cannot detect such situation, so right lines "Can't undo"
were masked by wrong one "Can't Undo" and this line stay untranslated
for most time.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40688 a95241bf-73f2-0310-859d-f6bbb57e9c96
virtual but only static methods, it is not so likely that binary compatibility issues may arrise
from using it in new apps. Adjusted all the Jamfiles that included the private libicon headers. Note
that it was never necessary to link against libicon.a, since it's part of libbe anyway. There was one
instance where that was done. Hopefully it does not break the build, but I did this change a while ago,
tested it and then the harddrive began failing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40679 a95241bf-73f2-0310-859d-f6bbb57e9c96
to be locked before its font is retrieved or items are added.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40623 a95241bf-73f2-0310-859d-f6bbb57e9c96
into libshared.a as BPrivate::BIconButton. Removed some outdated functionality
as well (now only uses BControlLook for drawing, cleaned up custom drawing).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40587 a95241bf-73f2-0310-859d-f6bbb57e9c96
Consequently the locale kit would fail to load resources since the pointer was no longer an address within the liblocale.so image,
with the result that things like flag bitmaps would no longer be accessible.
Fixes#7246.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40580 a95241bf-73f2-0310-859d-f6bbb57e9c96
in_addr_t is now in network endian again. Thanks, Philippe!
* Made SetToLoopback(), and SetToLocal() a bit more useful (although the latter
isn't implemented yet).
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40552 a95241bf-73f2-0310-859d-f6bbb57e9c96
initialization order
This was meant to fix#7227, but just seems to have bypassed it - the crash is now somewhere else ... needs more investigation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40529 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fix strange overloads of functions via macros that doesn't work
(and I can't see how it ever would, but what the heck)
* don't force-define DEBUG in libbind/resolv, follow our build system's
idea of DEBUG instead
* fix libbind/isc/tree.c expecting DEBUG to contain a string
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40528 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fix most obvious problems in parseQuotedChars()
* drop separate HashMapCatalog in tools-folder, which isn't much
different from the original one (we now just use that one instead)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40527 a95241bf-73f2-0310-859d-f6bbb57e9c96
* if _MakeWritable() fails, LockBuffer() must return NULL, not what
happens to be in fPrivateData
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40525 a95241bf-73f2-0310-859d-f6bbb57e9c96