Commit Graph

43735 Commits

Author SHA1 Message Date
Michael Lotz
ad53cd29cb Fix iterator in hash_remove_current() to not skip elements.
When iterator->current is NULL, hash_next() assumes we've reached the
end of a bucket (linked list) and moves to the next one. Wehn the first
element of a linked list was removed in hash_remove_current()
iterator->current was set to NULL, causing the next call to hash_next()
to skip over the rest of the list of that bucket.

To fix this we now decrement iterator->bucket by one, so the next call
to hash_next() correctly arrives at the new first element of the same
bucket. Doing it this way avoids having to search backwards through the
table to find the actual previous item.

This caused modules to be skipped in module_init_post_boot_device()
when normalizing module image paths so some of the module images ended
up non-normalized. This could then cause images to be loaded a second
time for modules that were part of an actually already loaded image.
This setup is present for the PCI module with the pci/x86 submodule
and would lead to a second copy of the PCI module image to be loaded
but without being initialized, eventually leading to #8684.

The affected module images were pretty much random, as it depended on
the order in which they were loaded from the file system, in this case
the boot floppy archive of the El-Torito boot part of ISO and anyboot
images. The r1alpha4 release images unfortunately had the module files
ordered in the archive just so that the PCI module image would be
skipped, allowing #8684 to happen on many systems with MSI support.

Since the block cache uses hash_remove_current() as well in some cases,
it is possible that transactions in its list could've been skipped.
Cursory testing didn't reveal this to be a usual case, and it is
possible that in the pattern it is used there, the bug wouldn't be
triggered at all. It's still possible that it caused rare misbehaviour
though.
2012-11-14 15:09:54 +01:00
threedeyes
1a6f1cb937 NTFS: Fix an issue when fs_initialization re-calling.
* Reset global variables for mkntfs module.
* Add error handling for mkntfs call.
2012-11-14 03:34:25 +00:00
threedeyes
bcb081f0fe NTFS: Fixed an issue with seek and read calls
Use B_GET_PARTITION_INFO and B_GET_GEOMETRY instead of libntfs' home-brewn
device size detection. This avoids KDL in AHCI module. By the way the mentioned
problem with seek a  should be investigated separately - it looks like a bug in AHCI module.
2012-11-14 03:34:24 +00:00
John Scipione
0f10682f8b Small style fix 2012-11-13 18:51:57 -05:00
Rene Gollent
618ae8a8f6 Fix #9148 and probably #9128.
uninit_timers() needs to wait for the timer thread to exit before
deleting the timer mutex.
2012-11-13 17:42:14 -05:00
Alexander von Gluck IV
fb7f48a9eb OpenGL Kit: Use GLU-9.0 for gcc2 and gcc4
* As of Mesa3D 9.0+, GLU is a seperate project
 * Our in-tree GLUT builds with GLU-9.0  without
   modification.
 * We ignore the GLU libraries that Mesa-7.8.2 and
   Mesa-8.1-devel provide and use the glu-9.0 ones
 * This is kind of a limbo state, but works for now.
 * Eventually we will be on Mesa 9.0 (which requires
   the external GLU) and Mesa 7.8.2 (which works with
   the newer external GLU) and will rip GLU out of the
   7.8.2 OptionalBuildPackage.
 * I don't *think* we are using the Mesa GLU headers...
   we will know for sure when I pull'em out of the
   OptionalBuildPackages :D
2012-11-13 10:52:06 -06:00
Ithamar R. Adema
344b3218d4 ARM/u-boot: Add support for FDTs passed in the uImage
Since we're using multi-part uImage format, we can add the FDT as
a seperate "blob" in the uImage, if the used U-Boot version is not
"FDT enabled".

This is used for example for our Verdex target. Currently I've got
a local hack in the platform/u-boot/Jamfile, looking into pulling
in the FDT files and a proper Jam setup to do that properly...
2012-11-13 12:27:11 +01:00
Ithamar R. Adema
6645e68bb0 ARM: add todo note about VM implementation
Signed-off-by: Ithamar R. Adema <ithamar@upgrade-android.com>
2012-11-13 12:12:23 +01:00
Ithamar R. Adema
1df5784a22 ARM: Add ARM architecture detection to generic bootloader ARM code.
This detects everything up to ARMv6 right now. Need to check more
recent ARM ARMs for ARMv7 detection.

The detected details get passed on to the kernel, which can use
the pre-detected info for selecting right pagetable format and such.

Copyright removal of Axel done after agreement with Axel @ BeGeistert
that for files that were copy/pasted from x86 arch and then fully
replaced the implementation, removal of original copyright holder is
allowed, since their actual code is gone ;)
2012-11-13 12:04:35 +01:00
Ithamar R. Adema
959e7602bc ARM: fix copyright of NOR driver
Signed-off-by: Ithamar R. Adema <ithamar@upgrade-android.com>
2012-11-13 11:44:47 +01:00
John Scipione
67bc15211f Make about window a bit taller so it fits the average amount of text
... without scrolling.

This completes my about window treatment for all replicants. It is my
hope that BAboutWindow will be used by all apps that need an about
dialog instead of using a BAlert.
2012-11-13 02:03:02 -05:00
John Scipione
df02847b49 Update Workspaces about dialog 2012-11-13 01:53:31 -05:00
John Scipione
b23f8cd41f Destroy AboutWindow on destruction 2012-11-13 01:42:01 -05:00
John Scipione
c191daa816 remove uneeded comment 2012-11-13 01:41:25 -05:00
John Scipione
d4d5bf6c50 Update PowerStatus about window 2012-11-13 01:37:30 -05:00
John Scipione
5070e7e222 Init fAboutWindow NULL first 2012-11-13 01:29:10 -05:00
John Scipione
83baea76a8 Update copyright info for ProcessController 2012-11-13 01:24:18 -05:00
John Scipione
be7c552a50 Bring AboutRequested() method back, not sure why I removed it. 2012-11-13 01:18:37 -05:00
John Scipione
730a45ee8f Rework NetworkStatus to use a non-modal BAboutWindow 2012-11-13 01:12:44 -05:00
John Scipione
5bf91175bc Haiku may be alpha quality, but DeskCalc isn't 2012-11-13 00:45:01 -05:00
John Scipione
cea3811974 Remove About DeskCalc... from right click menu.
We decided not to include about dialogs in system apps (right?)
2012-11-13 00:36:33 -05:00
John Scipione
96a5a088ba Add the authors back to AboutWindow.h, also use <> style for email addresses 2012-11-13 00:28:06 -05:00
John Scipione
7031e2beb2 Fix build, that's what I get for committing without testing first. 2012-11-12 23:57:33 -05:00
John Scipione
80d7bf83bd Add authors back. 2012-11-12 23:57:33 -05:00
John Scipione
d1b2e338ef There is nothing to translate in the initial copyright string, it is just '(c) %years% %holder%' 2012-11-12 23:57:32 -05:00
John Scipione
c73d4b3dc2 Move AboutPosition() method up. 2012-11-12 23:57:31 -05:00
John Scipione
d156f97655 Get rid of the _Init() method in BAboutWindow, just the single constructor body. 2012-11-12 23:57:31 -05:00
John Scipione
97a814061e Instead of destroying the BAboutWindow object on close, Hide() it, then on the destructor of the calling window call Quit() explicitly to destroy it. 2012-11-12 23:57:30 -05:00
John Scipione
04875296c4 Add version variety to the end of the version string (alpha, beta, etc.) 2012-11-12 23:57:29 -05:00
John Scipione
0fbb37d238 Move the app icon down a bit. 2012-11-12 23:57:29 -05:00
John Scipione
6cdd1023ab Get the icon and version from FindApp which works whether or not the app is currently running. This makes process controller show it's icon and version even though it lives in Deskbar. 2012-11-12 23:57:28 -05:00
John Scipione
a792461b21 Pass in 128 as an icon_size to GetTrackerIcon(), this makes it grab a nice 128x128 HVIF icon 2012-11-12 23:57:28 -05:00
John Scipione
12a9a71db6 Use a quit bool in B_ABOUT_REQUESTED to indicate that the about window has quit instead of using kAboutWindowClosed message. This prevents message signature clashes. 2012-11-12 23:57:27 -05:00
John Scipione
3fdab58446 Set the about window object to NULL on close or quit.
Pass the BHandler object that opened the about window to BAboutWindow.
When the window closes, send a kAboutWindowClosed message back to the
handler. This allows the handler to set the variable to NULL.

Implement the new about dialog constructor in all apps that use it.
Remove the old constructor. This now works reliably for all cases I
tested without crashing and does the right thing on close. The setup
and teardown is a bit more complicated than I wanted though.
Unfortunately this seems to be necessary when not using a BAlert.

Fetching the app icon does not work reliably yet. This is because for
replicants the app may not be running. I may have to pass the icon in
instead of grabbing it from the signature.
2012-11-12 23:57:26 -05:00
John Scipione
5b0cd98792 WIP: Create the about dialog once, hide and show, Quit() when object is destroyed. 2012-11-12 23:57:25 -05:00
John Scipione
0046f44436 Modify about window to take an app signature.
* Grabs the app icon and version from the resource file.
* Allow you to specify the copyright holder instead of hardcoding
  "Haiku, Inc."
* Support multiple extra copyright fields.
* Modify BAlert to take a custom icon.
* Set the custom icon of the BAlert to the app icon.
* Also set the app version.

* Convert BAboutWindow to derive from BWindow
* Place a 128x128 icon and fill out a scrolling BTextView
  with options such as authors, version history, copyright,
  license, etc. Still needs some work but is coming along.

* Add the word Version to the version line, i8n'ed of course,
  and tweak the info box and default sizes.
2012-11-12 23:57:24 -05:00
John Scipione
1a5df674c1 Fix saving and re-expanding items.
Subtle bug #1 found, 11th hour change broke this feature, fixed
once again.
2012-11-12 23:30:51 -05:00
John Scipione
a05a00c849 Tiny style fix 2012-11-12 22:03:27 -05:00
John Scipione
d1e438cad1 Force app menu to auto-layout before recomputing scroll limits.
This makes Deskbar correctly calulate the scroll limits in the case
when scrollbars are attached but not due to an app being added or
removed for example because the icon sizes increased.
2012-11-12 22:03:26 -05:00
John Scipione
652a115c1c Use fDragRegion width not left, you can't depend on the screen position reliably 2012-11-12 22:03:26 -05:00
John Scipione
27a53c3c9e Fix build, forgot a { 2012-11-12 22:03:25 -05:00
John Scipione
b4c922197c Fix Deskbar crash when scroll arrows are removed.
fExpando is added and removed from InlineScrollView only and it is
created and destroyed in BarView only. Before this there was a
case where it was removed in both InlineScrollView and BarView
causing a crash from the double remove
2012-11-12 22:03:25 -05:00
John Scipione
3135d0e0de Shrink icon only width a bit to make room for more icons
...before turning scrolling on.
2012-11-12 22:03:24 -05:00
John Scipione
e4f9bfce33 Need to position window before checking for scrolling.
Otherwise when you switch from bottom mini mode to vertical expando mode
you'll get scroll arrows when you shouldn't because the bottom of the
window frame will be below the screen.
2012-11-12 22:03:24 -05:00
John Scipione
dec421b1db Make sure that you remove the separator item before adding the team menu in mini mode or it won't work all the time 2012-11-12 22:03:23 -05:00
John Scipione
d6f6b835ad Draw a nice menu background on the inline scroll view and when scroll faster when you push control/option/command and click the little arrow button. 2012-11-12 22:03:23 -05:00
John Scipione
0e100a37a9 Cleanup 2012-11-12 22:03:22 -05:00
John Scipione
ed75ca7201 Set the scroll arrow limit based on the min menu item widths
... rather than the current menu item widths. This means that
Deskbar will shrink the menu items until they are at their minimum
size before it activates the scroll arrows. Previous to this
change the scroll arrows were being turned on prematurely. Also
lower the minimum menu item width to the icon width + 50pixels which
is arbitrary but looks good to my eye.
2012-11-12 22:03:22 -05:00
John Scipione
c07e6ff292 Make horizontal scrolling work in Deskbar
* Split the Leaf menu and seperator into their own menubar.
* I got rid of a lot of special cases for horizontal in the
  ExpandoMenuBar class because now the menubar contains the same
  items as in vertical mode. However, it also means that the dreaded
  <none> bug also affects horizontal mode.
* Make the application menubar resize itself even in horizontal mode.
  This means that the view background shows through so I'm going to have
  to fix this up.
* Calculate when to add the scroll arrows and how much to allow the user
  to scroll by for horizontal. CheckItemSizes() got a big refactoring.
* Rework the InlineScrollView class a bit. It no longer requires you to
  specify the begin and end limits on construction because it can
  calculate them instead. It also no longer depends on the screen at all,
  this means this class can be extened to be used more generally and in
  more places.
2012-11-12 22:03:22 -05:00
John Scipione
e6d8c22a7d WIP: Add support for horizontal scrolling. 2012-11-12 22:03:21 -05:00