when the Tracker window is closed. Tested with normal navigation and
slideshows.
Axel's excellent navigation classes code made this pretty easy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40180 a95241bf-73f2-0310-859d-f6bbb57e9c96
ShowImageWindow using a BMessageRunner.
* Note, this is completely untested, as it turns out my Haiku installation on
this box is too old to run it. It compiles, at least, and shouldn't break
anything else.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40178 a95241bf-73f2-0310-859d-f6bbb57e9c96
This bug only happens for bitmaps with unusual lengths (often the last blockgroup block bitmap) and which happen to be full.
Should fix#7074.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40175 a95241bf-73f2-0310-859d-f6bbb57e9c96
1. If the glyph is cached, return it, as before.
2. Try to find a glyph in the fallback font, as before.
3. Check for ignorable characters as per Unicode and cache and return a zero
width glyph (rendering as completely invisible).
4. Reset to the original font.
5. Check for whitespace as per Unicode and cache and return the normal space
glyph.
6. If there still is no valid glyphIndex, continue with index 0 which caches
and returns the usual "missing glyph box".
This implements the Unicode suggestions on how to handle missing glyphs and
closes#7077.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40174 a95241bf-73f2-0310-859d-f6bbb57e9c96
drive.
* Do not change the wizard buttons after they have been updated already due to
the selection when building the UI.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40173 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The code used continue to restart the loop when encountering a missing glyph,
but in that case the index wouldn't be incremented, meaning the consumers
would received the same index for ConsumeEmptyGlphy() and ConsumeGlyph() and
at the end there was not necessarily a call for every index, resulting in
uninitialized array elements for GetHasGlyphs, GetEdges, GetEscapements and
GetBoundingBoxes.
* Since the advance values were not reset in case of a missing glyph but still
added for the next char, the coordinates the consumers would get were advanced
by the advance values of the glyph preceeding the missing glyph(s). This made
StringWidth return wrong widths.
* The loop end condition was skipped by the continue as well, which would have
resulted in overruns when there were problematic chars at the end of a string.
Fixes#7075 where the uninitialized array elements caused random truncation
errors. The problematic character in this case is a tab, that has no glyph as
it is a dynamic spacer. Previously this was resolved to the "missing glyph"
(the box) which had a width.
I find it highly problematic not to fall back to such a glyph, because there is
no real way to see that you're using a font that has missing glyphs. Instead
those are simply collapsed to nothing with this change (instead of being
random). This whole problem is only brought up by not guaranteeing that there
always is a glyph as was the case before where a missing glyph was replaced by
the box.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40172 a95241bf-73f2-0310-859d-f6bbb57e9c96
(where the BIOS loads the stage1 part to).
* Therefore, I moved the BIOS drive to the stack, and now the boot menu finally
actually works.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40167 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added TODO about merging AssembleNasm with AssembleYasmBin rules.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40159 a95241bf-73f2-0310-859d-f6bbb57e9c96
again, and will also drop into debugger if broken again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40155 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added a comment to LegacyBootMenu.cpp on how to conveniently test the boot
manager, and its menu.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40151 a95241bf-73f2-0310-859d-f6bbb57e9c96
as when the boot menu entry has a 0 BIOS drive. This allows the boot loader to
be installed on any drive.
* Implemented BootDrive class, and changed LegacyBootMenu the way it should
work now. Installing the boot menu should now work again, and the first time
while installing Haiku.
* Removed MakeArray.cpp - we already have such a tool in our repository.
* Build BootLoader.h automatically during the build process - the only
disadvantage is that you can only build it on x86 now (but other systems
don't use this boot loader, anyway).
* In general, the BootManager is prepared to handle different kinds of boot
menus; one only needs to write a class BootMenu implementation for this to
work - and have the possibility to choose between different menus, if there
are more than one per platform/partitioning system.
* Renamed quite a few methods.
* Automatic whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40149 a95241bf-73f2-0310-859d-f6bbb57e9c96
Scale to fit now keeps the aspect ratio by cutting horizontally or vertically.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40144 a95241bf-73f2-0310-859d-f6bbb57e9c96
* BitmapBlock::FindMarked/FindUnmarked() tried to find a free bit
at the end of a full bitmap. This fixes#7069.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40143 a95241bf-73f2-0310-859d-f6bbb57e9c96
by forcing openAnyway and creating a clickToOpen rect if there is not one.
Should fix#7022 and maybe others. Partially based on the patch from #7022 and
Travis Reed's patch from the mailing list discussion in December.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40142 a95241bf-73f2-0310-859d-f6bbb57e9c96
Similar changes should be made in other applications. I may try doing so
with a script (and manual review of course.)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40136 a95241bf-73f2-0310-859d-f6bbb57e9c96
If the menu opens right under the mouse cursor, do not select or invoke an item
until the mouse is moved. Since this seems to break normal menu bars, I added
the check for fSuper. As a (bad?) side effect BMenuField menus also need mouse
movement before something is selected. If anything else is broken, let me know.
I'm committing this because it does remove some bad behavior in pop up menus
(unintentionally selecting items.)
We may also want to force the openAnyway behavior as discussed on the mailing
list in December.
In general though the menu handling code really should be redesigned/refactored.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40132 a95241bf-73f2-0310-859d-f6bbb57e9c96
Note, the BootManager might not work right now, anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40130 a95241bf-73f2-0310-859d-f6bbb57e9c96
* I reused crc_table.cpp from the UDF filesystem and switched it to have the reversed algorithm,
then generated the table in CRCTable.cpp
* added a binary search for extent tree leaves.
* fixed a check in InodeAllocator::New().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40129 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Modify MediaListItem to use the visitor pattern
* Use the visitor pattern for comparison of MediaListItem subclassed objects
* Use the visitor pattern in MediaWindow to propagate changes to NodeListItems.
* Rename and/or remove some message constants
* Rename SettingsItem class to NodeMenuItem
* Rename Settings2Item class to ChannelMenuItem
* Derive SettingsView from BGridView, and make it an abstract base class for two new classes, AudioSettingsView and VideoSettingsView.
* Have the SettingsView subclasses handle messages originating from their children (for the most part).
* Use a BCardLayout to hold our Audio/Video SettingsViews and our instantiated node view (when applicable).
* small changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40127 a95241bf-73f2-0310-859d-f6bbb57e9c96
most pages do now, albeit it's not perfect yet due to issues with BTextView,
and BScrollView that make them very inconvenient to use with the layout API.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40126 a95241bf-73f2-0310-859d-f6bbb57e9c96