In a menu, we use the right side both for submenu arrows and shortcuts.
As a result, when an entry has both a shortcut and a submenu, its
shortcut is not aligned with others, and this does not look so nice.
The spacing for the arrow appears only if there is a submenu in any of
the items in the parent menu.
Change-Id: If91fdcdad36abb0141fb05d1f59141f89540c1db
Reviewed-on: https://review.haiku-os.org/c/haiku/+/355
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Ryan Leavengood <leavengood@gmail.com>
Activate auto-raise on the screen edge inside the Deskbar window
frame. Set the event mask to B_POINTER_EVENTS when auto-raise or
auto-hide is on and set the event mask back to 0 when we turn off
auto-raise and auto-hide. Before this change you had to click a
window twice to get it to rise above of a raised Deskbar, with
this change you only have to click once to make the window rise
above Deskbar.
The auto-hide show and hide bounds are unchanged.
There was another bug where the window was not hiding correctly in
auto-hide mode when you moused over the status bar in horizontal
mode. This was happening because the where parameter of
TBarView::MouseMoved and TBarView::MouseDown was yielding
coordinates relative to the status tray when the mouse was over
the status tray and not the current view meaning that
TBarView::Frame().Contains(where) would return false over the
status tray. Inspecting the where parameter showed that the x-
coordinate was reset back to 0 when you mouse over the status tray.
To fix this issue I pulled the screen_where field out of
CurrentMessage() instead since this yields the correct value.
The calendar window input focus has been fixed in auto-raise mode
so that you can click on calendar even when it is above Deskbar.
You may also click a window on top of Deskbar in auto-raise mode
without the Deskbar window being raised.
Don't hide Deskbar when Calendar is showing in auto-hide mode.
Put comment inside else block inside { }.
Return from TBarView::MouseDown() calling ansestor method.
Quit fCalendarWindow on TimeView deconstructor if it exists (even if
it is not curently being shown.)
Fixes#8923#14493
Change-Id: I7ed67fdbc30a93d2782b3ab6b6738b86ec5e4043
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1966
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This should give more meaningful errors in pkgman
(not so sure, feel free to tweak the mapping),
and also avoid running the next job if fetching failed.
Change-Id: If76968f705ff25f7ecf1a5f91d88a02040d24665
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2186
Reviewed-by: Ryan Leavengood <leavengood@gmail.com>
SSL_AUTO_RETRY does not cover this case (it only covers SSL errors, not
underlying socket ones), so we still need to retry reads manually here.
Fixes#14638.
- Clarify why building jam is not needed on Haiku
- Put the 64bit instuctions first, as they apply to both Haiku and other
platforms and are the way to go for people discovering Haiku, usually
(only oldtimers will care about BeOS compatibility)
- Remove the "from non-haiku platforms" from 64bit instructions because
they work just fine on Haiku as well
Changeset 835e7239d added some additional tests for HaikuDepot, but
ValidationUtilsTest::AddTest references a test method which doesn't
exist.
I think the intention was to have TestEmailInvalid defined, but it was
split into more granular tests like TestEmailInvalidNoDomain,
etc. Just removing this undefined test from the suite.
Change-Id: I858233df29657d07d78ad1784691572e65a26045
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2183
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
These changes cover a rework of the login and
account creation logic before making additional
changes related to the user usage conditions.
Relates to #15209
Change-Id: I90b7dbcee5b0285476938c6ced0afc89483d6227
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2023
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
For non-official builds, Installer had no logo. This led to a window
sizing bug which is not seen in the official builds (both nightlies and
releases) as they both use the Haiku logo there.
Use Walter as a placeholder logo in that case. The png is generated from
the wonderbrush file in the separate artwork repo.
Change-Id: Iea361d7ac0fd2bdb147318632ff198c86c4b89c2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2180
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
... docs to make it clear which methods work synchronously and which work
asynchronously. A small number of related edits are included as well as a
couple of pedantic whitespace changes. Clarify sync vs. async reply
handling better in BMessenger class description. Add The to make sentences.
Change-Id: I3069934fc5e82dda25331e85884d6d0c0c100dfd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2178
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This fixes a KDL that is triggered by the following scenario.
1. A socket is created, attempting to establish a session
between (loopback, ephemeral port) => (remote address, remote
port).
2. That socket ends up in the closed state because the remote is not
accepting connections.
3. The socket is re-used to connect to a different (remote address,
remote port).
The problem is that fConnectionHash is a BOpenHashTable<TCPEndpoint>,
and inserting endpoint multiple times can create a linked list
cycle (TCPEndpoint is an intrusive linked list node). That means that,
even though TCPEndpoint's destructor removes itself from
fConnectionHash, there will still be a pointer to it left behind,
which means that future accesses within that hash table bucket will
result in a segfault.
The added fConnectionHash.Remove(endpoint) here prevents the KDL, as
it ensures that socket reuse doesn't result in a cycle.
Fixes#13927, see that ticket for a detailed explanation of the
problem.
Also added some regression tests:
* Added SocketTests::ClientSocketReuseTest to PosixNetTest, which
reproduces this KDL.
* BOpenHashTable: Added tests to cover RemoveUnchecked and removal
of an object that isn't in the table.
Change-Id: If4bcc1e0d94350a5ad9ba8e7ae6f1b783b3f6d34
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2173
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
42e3c6f97 changed the default buffer size for KPath, but the tests
still assume the original default.
Change-Id: I2712d81bbdc678bbaae11e975b0a9a05f5a9151f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2175
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Add NULL check for 'fBarView', since it might be NULL
at line 107.
Change-Id: I293e551dd4ab6ac33b7d4a6d1bf736bcd142cb80
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2170
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Add NULL check for 'fBitmap', since it might be NULL
at line 71.
Change-Id: I70bf4d29e20bbe1c62d972f576dc52d4783933d1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2169
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
This is required for building shared libraries with hidden by default symbol
visiblility such as mesa.
Change-Id: I7150629aaea61d7c9b6e641d32913c5cc7c96543
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2159
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Linking libkernelutilstest.so with libbe to for use of BObjectList in
the tests.
Change-Id: I1abb991e240dd522821a71ef54d22a1ca7957283
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2165
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Use dynamic_cast to menuItem after NULL checking to it.
Change-Id: I3fdabf5a091922587f498cf5fa116f8824bbfc6b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2160
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Change-Id: I70c50b36cd56263dcb37faeffc4037dea4af88c0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2171
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
In the desktop the icons can reach 96 and 128 pixel. With the increase of resolution those are good dimensions.
The max size of icons in LaunchBox was 64, so new sizes were added.
Fixes#13835
Change-Id: Id4db66f52b265aa4f94742c83f7d65ed136ba9c2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2172
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Add NULL check for fAllocator, since it might return NULL.
Change-Id: Ifb72266b4d4c5f076f0c663066dc9b81e94fc201
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2162
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
This is undocumented, but required for GMA 945 and probably earlier
devices as well. The register is reserved in later generation 4 devices,
and not mentionned at all in later versions.
Fixes#15655.
Change-Id: I4d0e1ec34d1568594cac0f7378f87852c997ab81
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2166
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* A few tips for future folks follows.
* fenv.h gets wrapped in our buildtools
* If anything in the arch fenv.h "doesn't work" buildtools
will silently fail early on (autotools HAVE_FENV_H)
Change-Id: Icae064fde42af3bbed5ea2eadfaa8c18c677e6a6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2164
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
On gcc4, we can use the __rdtsc builtin. On gcc2, provide a similar
inline-able version of rdtsc, and remove the rdtsc function written in
assembly, saving a call/ret on every call.
There has been some discussion about performance, but note that this is
only bootloader code, it is not used when the system is up and running,
therefore performance is not that critical.
- 7xx (1st gen) has no driver in Haiku or is handled by the intel_810 driver
- PowerVR has no driver in Haiku
So there is no point in having those in the intel_extreme driver.
While I'm at it, fix the video timing/resolution constraints for
sanitize_video_mode.
The uint128 code does not optimize as well as expected. Since this
function can be called quite often, use a more optimal implementation
(quite similar to what we had for x86_64 before refactoring).
Unfortunately this is still not as good as the hand-optimized assembler
previously used for 32bit x86, unless compiled with clang, where it gets
pretty close.
When refactoring this and writing a common implementation for x86 and
x86_64 I missed a step in the calculation. We need to divide by 2^32 to
keep the value in the expected range.
Fixes#15658.