of the slab code. It is generic as it only contains the link to a tracing entry
and not any application specific info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43188 a95241bf-73f2-0310-859d-f6bbb57e9c96
which set the --no-add-needed flag (DSO Linking Changes)
* fixes#8031
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43186 a95241bf-73f2-0310-859d-f6bbb57e9c96
Wastes a bit less time allocating pages for nothing, and makes debugging
mmu support less verbose as well.
The (gunzipped) tar file is still less than 4MB and will never be 8MB
realistically anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43183 a95241bf-73f2-0310-859d-f6bbb57e9c96
that appear when you try to rename or move an important system folder such
as 'system' or 'config' from the generic (and a little non-standard) 'Do It'
to a proper verb such as 'Rename' or 'Move'.
I take localization into account, there are now 3 different variables that
need to be translated, first is %ifYouDoAction which is the action verb in
one form, second is %toDoAction which is the action verb but in a different
form, and third is %toConfirmAction which is the text that appears on the
button label itself. Although in English there is no distinction between
%ifYouDoAction and %toDoAction (both use the same verb e.g. rename) there
is a distinction in other languages such as German.
Comments are provided in English and German using B_TRANSLATE_COMMENT as a
help for translators. I had some help from DeadYak and Humdinger getting the
German translations right since I only speak English (thanks guys). Humdinger
also directed me to the verb form translation issue in the first place.
I also removed the OSNAME macro and just use 'Haiku' instead since we aren't
maintaining an OpenTracker port for BeOS anymore. Ingo aka bonefish indicated
that this change could be a bit of a problem for distributions (were there
any) but if we actually wanted to support distributions we'd want to use a
global OSNAME macro somewhere else as I am sure the word 'Haiku' must appear
in the source in other places.
Closes#7767
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43175 a95241bf-73f2-0310-859d-f6bbb57e9c96
Btw, do we *really* need this ? removing it saved 1MB in the pci bus_manager binary,
and makes it possible again to use 1.44MB floppy images...
Besides the only people who woul'd ever see the output (in syslog) are those who know
how to look the IDs up anyway. listdev and Devices have their own copy of those strings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43174 a95241bf-73f2-0310-859d-f6bbb57e9c96
Tweak the code around as it doesn't really have to be done there :
* Remove the Show() method override
* Make sure the window is layouted and moved to the right place before showing it (which is what this early SetPosition call attempted to do)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43173 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed a problem where the maximum sleep time for the Sleep() operator was
intended to be limited to two seconds, but was inadvertently limited to 20
seconds instead.
Doesn't seem to do much difference in Haiku though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43172 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Use the layout kit. That makes the code simpler.
* Group headers now look like deskbar team entries. I had the answer just under my eyes all the time.
* Folding and closing a group are back. However, folding does not work yet.
* We need to select a better default "failure" color, as red looks a bit aggressive.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43170 a95241bf-73f2-0310-859d-f6bbb57e9c96
breaking various cases where menus coexisted in a window with a view which
was using event masks:
- If one invoked the menu via, e.g. a BMenuField, and then tried to choose
an item on it, the mouse down would get captured, the menu would be
closed, and the mouse event would be thrown away without ever reaching
the event mask view.
- Furthermore, since the menu was told to terminate early, it would decide
that the user hadn't actually chosen that item (the escape key case),
and never actually invoke it.
Fixes the menu fields in the mouse preflet being broken.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43166 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Move the files shared between server and preflet to the server folder.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43159 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed completely broken error reporting; Write()/Read() will now return the
proper error code (and ssize_t instead of int32).
* Reimplemented WaitForData() using poll() which is more efficient.
* Now uses BNetworkAddress to resolve the server address which also should now
work with IPv6.
* Removed some unused headers.
* Minor coding style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43141 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Turn VMCache::consumers C list into a DoublyLinkedList.
* Use object caches for the different VMCache types and the VMCacheRefs.
The purpose is to reduce slab area fragmentation.
* Requires the introduction of a pure virtual VMCache::DeleteObject()
method, implemented in the derived classes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43133 a95241bf-73f2-0310-859d-f6bbb57e9c96
Setting classes didn't wind up being quite as useful for that purpose as
I'd originally hoped, so they remain with their primary purpose of
programmatically generating menus and such.
* When GraphicalUserInterface constructs the team window, immediately start
the message loop. This allows us to reorder startup so we only activate
the user interface after having restored settings.
* TeamWindow now saves/restores its frame on a per-team basis.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43131 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fixes crashes in the game sound code when using small buffers.
Closes#5093, but there are other issues left.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43128 a95241bf-73f2-0310-859d-f6bbb57e9c96
available when there is none instead of spinning around. Might help with #8053
and #8058, though it's possible that leaks or interrupt issues are the cause
for these.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43125 a95241bf-73f2-0310-859d-f6bbb57e9c96
Shows a problem with the media kit : building it with gcc4 and trying to run it on a gcc2 install results in failure for trying to load a gcc2 media add-on.
Same applies for push_game_sound_test.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43123 a95241bf-73f2-0310-859d-f6bbb57e9c96
I'm not sure about the ApGroupView being (and looking like) a BBox.
Thoughts about that ?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43119 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Add "allocation_infos" KDL command. Can be used to print the allocation info,
including the stack trace, given an object cache, slab, allocation within a
slab or allocation address. It can also optionally be filtered by team/thread.
* Fix the AllocationDetailPrinterCallback to not access a possibly invalid
trace entry for printing a stack trace.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43118 a95241bf-73f2-0310-859d-f6bbb57e9c96
Add MemoryManager::DebugObjectCacheForAddress() to retrieve the ObjectCache for
a certain address from KDL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43117 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Introduce TracingMetaData::IsInBuffer() to validate that a certain memory
range is within the valid tracing buffer limits.
* Use that when validating in tracing_is_entry_valid() before trying to access
the entry, resolving a TODO.
* Validate the candidate time against the handed in time (if specified) as an
additional check.
* Tiny unrelated text cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43116 a95241bf-73f2-0310-859d-f6bbb57e9c96
Some changes to the API for notifications.
* Don't go through be_roster to send a notification, but use Notification->Send() instead.
* Rename App to Group to make the purpose clearer
And some changes to the notification code itself:
* Use the Notification class as the way to convey informations about a notification. Allows easier extension of this class
* Code cleanup
* Use of the layout kit for the notify window
Unfortunately, the latter part clashes quite a bit with the changes I already did to the notification window, so it's now quite broken. Working on that next, but I wanted to separate that work from the patch ...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43114 a95241bf-73f2-0310-859d-f6bbb57e9c96
more or less complete now, or at least far enough along to start doing some
things with it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43112 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added support for the useless about: URI scheme, which asks an app with the provided signature its about window, or launched AboutSystem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43103 a95241bf-73f2-0310-859d-f6bbb57e9c96
cf. http://tools.ietf.org/html/rfc2838
Yeah I know it's useless but so l33t.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43101 a95241bf-73f2-0310-859d-f6bbb57e9c96
If you have never seen this before you are in for a bit of a shock.
Update the Doxyfile to 1.7.3 (the version that gets auto-generated).
Update the book.dox front page with some nice introductory text.
Add new documentation for the following classes:
BCheckBox
BClipboard
BColorControl
BControl
BEntryList
BView (preliminary)
Remove redundant documentation from src/kits/storage/EntryList.cpp
Minor documentation update for the following classes:
BAlert
BApplication
BArchivable
BBox
BButton
BCatalog
BFindDirectory
BHandler
BUnarchiver
BString
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43096 a95241bf-73f2-0310-859d-f6bbb57e9c96
existing 'Apple Aluminium' keyboard layout to 'Apple Aluminium Extended
International.' The 3 new layout files are US mini and extended version
as well as an international mini version. This completes #7964
International corresponds to keyboard layouts for all locales except the US
and Japan. I have Japanese Apple Aluminum keyboard layout files almost
ready but I first need to determine what the special kana and eisu keys
are mapped to.
The Apple Aluminum keyboard layout files are tucked away in an Apple Aluminum
subdirectory. The Keymap preference app has been modified to turn
subdirectories into submenus of the Layout menu.
HaikuImage has been modified to include each keyboard layout file in the
image individually as recommended by Ingo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43093 a95241bf-73f2-0310-859d-f6bbb57e9c96
items when you switch away from expando mode. It does this by keeping a list of
expanded item signatures in a fExpandedItems BList on the BarView class. I
can't use team_id because there can be more than one team per application.
If you have checked the 'Expand new applications' option in the Deskbar
preferences then the signatures of new applications will be added to the
fExpandedItems list expanding the item. If you open a new application while
not in expando mode then the app will be expanded upon returning to expando
mode.
Since 'Expand new applications' automatically adds any new item's signature
to the fExpandedItems list Tracker is expanded on startup since it is 'new'.
Also if Deskbar is restarted all applications will be considered 'new' so they
are expanded. This fixes ticket #4830
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43092 a95241bf-73f2-0310-859d-f6bbb57e9c96
return a stack trace when tracing is disabled we don't really need to be able
to print one either.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43088 a95241bf-73f2-0310-859d-f6bbb57e9c96
* AllocationTrackingCallback::ProcessTrackingInfo(): Also pass the
allocation pointer.
* "allocations_per_caller" KDL command: Add option "-d". When given,
each allocation for the specified caller is printed, including the
respective stack trace.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43087 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Add TraceOutput::PrintArgs(), a va_list version of Print().
* Move code of TraceOutput::Print() to new private template function
print_stack_trace().
* Add public tracing_print_stack_trace().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43085 a95241bf-73f2-0310-859d-f6bbb57e9c96
Refactor the "allocations_per_caller" KDL command related functions.
They expect an instance of a class implementing the new
AllocationTrackingCallback interface, now. The only implementation ATM
is AllocationCollectorCallback, which does the work the now removed
slab_debug_add_allocation_for_caller() did before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43082 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fix build broken in r43078. The slab_debug_add_allocation_for_caller()
wasn't guarded correctly.
* slab_debug_add_allocation_for_caller(): Add bool resetAllocationInfos
parameter, which makes the function clear the allocation tracking
infos after processing the data.
* "allocations_per_caller" KDL command: Add option "-r" to reset the
allocation tracking infos. The next invocation of the command will
only show the allocations made after the reset.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43079 a95241bf-73f2-0310-859d-f6bbb57e9c96
* dump_allocations_per_caller(): Compute the total allocation count and
size from the caller infos instead of using return arguments in the
helper functions called.
* Move caller info update code from analyze_allocation_callers() to new
function slab_debug_add_allocation_for_caller(), so it can be reused.
* Add MemoryManager::AnalyzeAllocationCallers() to collect the
allocation information for the memory manager.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43078 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Use the proper identifier for each notification window : 2 per account for sending/receiving, and a global one to show the "n message received" message.
* Use the mail daemon icon on the windows instead of the default ones
* Shuffle the text in the windows a bit so it makes more sense
* Use the settings from the mail preflet for showing or not the window.
The meaning of "always" changes a bit, since it is not possible to have a "forever" timeout with the notification server (and that would be rather annoying).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43077 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added a comment about the Milan clone which uses the mmu in the BIOS to emulate Atari hardware, and the Transparent Translation registers to map the PCI bus, which screws up with our current code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43073 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Add optional stack trace capturing for slab memory manager tracing.
* Add allocation tracking for the slab allocator (enabled via
SLAB_ALLOCATION_TRACKING). The allocation tracking requires tracing
with stack traces to be enabled for object caches and/or the memory
manager.
- Add class AllocationTrackingInfo that associates an allocation with
its respective tracing entry. The structure is added to the end of
an allocation done by the memory manager. For the object caches
there's a separate array for each slab.
- Add code range markers to the slab code, so that the first caller
into the slab code can be retrieved from the stack traces.
- Add KDL command "allocations_per_caller" that lists all allocations
summarized by caller.
* Move debug definitions from slab_private.h to slab_debug.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43072 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Move struct tracing_stack_trace to tracing.h header.
* Add tracing_find_caller_in_stack_trace(). Helper function to get the
first return address of a stack trace that is not in one of the given
address ranges.
* Add AbstractTracingEntryWithStackTrace::StackTrace() getter.
* Add tracing_is_entry_valid(). Checks, based on the additionally given
time, whether a tracing entry is (probably) still in the tracing
buffer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43070 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Put the clock mode radio buttons above the preview
Also makes hiding hte preview work again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43061 a95241bf-73f2-0310-859d-f6bbb57e9c96
Once complete, these will be used to store/restore settings for the debugger's various UI
components.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43060 a95241bf-73f2-0310-859d-f6bbb57e9c96
attribute/resource method in locale kit catalogs
* Only load the embedded catalog if nothing else was found, so it can easily
be overridden
* Change the resource type to 'CADA' (CAtalog DAta) for embedded catalogs, and
use a hash of the language code as the resource ID. This allows multiple
languages to be stored in the same file and does not interfere with the user
storing his own BMessages as resources.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43057 a95241bf-73f2-0310-859d-f6bbb57e9c96
error prone parsing method that is currently utilized by the IMAP module.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43052 a95241bf-73f2-0310-859d-f6bbb57e9c96
ended with \r\n instead of \r\0. Both are accepted in most telnet servers, as
there is some unclear wording in the telnet RFC. However, using \r\n allows to
use telnet for other stuff, like connecting to an SMTP server. Debian Linux
telnet client also uses that by default (likely other Linuces use the same).
Fixes#2663.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43049 a95241bf-73f2-0310-859d-f6bbb57e9c96
Move blocking the 0xcccccccc and 0xdeadbeef address ranges from heap to VM init
so that it also works when used in the slab allocator.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43047 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Introduce "paranoid" malloc/free into the slab allocator (initializing
allocated memory to 0xcc and setting freed memory to 0xdeadbeef).
* Allow for optional stack traces for slab object cache tracing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43046 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Add an AbstractTraceEntryWithStackTrace that includes stack trace handling.
* Add a selector macro/template combo to conveniently select the right base
class depending on whether stack traces are enabled or not.
* Minor style cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43045 a95241bf-73f2-0310-859d-f6bbb57e9c96
wasn't constrained to the size of the color array, leading to an overflow +
crash when a large number of files were scanned. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43036 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Spacing of the bprogressbar is now 8pixels on each size
* Remove the useless window tab for now
Also fix DecoratorFrame() again as BORDERED_WINDOW didn't work with it either.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43034 a95241bf-73f2-0310-859d-f6bbb57e9c96
* As there is some extra space there, use it to display a hint on what the
settings are useful for
* Remove the huge and unclear tooltip that explained it before (that'd rather
be part of the userguide)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43031 a95241bf-73f2-0310-859d-f6bbb57e9c96
version attempted to Quit() and then immediately delete the app object
from another thread. This triggered a debug assert since in the latter
case we push a quit message onto the looper's message queue and let that
handle terminating the message loop. As a consequence, it was possible for
said looper thread to not have finished shutting down properly before we
called delete, leading to a debug assert with respect to calling delete on a
still running looper. Should correctly fix the crash on terminating the
test app_server.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43030 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Using a hardcoded path is bad, since the library folder might
change and/or the /system/lib/libbe.so may not be the libbe.so
actually in use. Instead, we now lookup the loaded libbe-image
and get the entry_ref from its image_info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43029 a95241bf-73f2-0310-859d-f6bbb57e9c96
error out. Fixes an error message for each copied file when copying from a
filesystem that doesn't support attributes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43026 a95241bf-73f2-0310-859d-f6bbb57e9c96
instead of a mix of B_NOT_SUPPORTED and B_UNSUPPORTED. This allows checking for
a specific error code. Probably one of those should be phased out...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43025 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Stub out the unneeded code in the buildtool version of DefaultCatalog.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43022 a95241bf-73f2-0310-859d-f6bbb57e9c96
Instead of computing the mime signature and giving this to the catalog system,
give an entry_ref instead. The default catalog add-on can thus look at the
right place when searching local catalogs (embedded as resources, or stored
as files next to the executable.
* This allows different versions of the same app to each have their own
catalog set,
* And also make the embedded/local catalog searching work for add-ons and
libs, instead it only worked for apps because of a getAppInfo call.
Fix cpufrequency to make use of it properly (that wouldhave worked without the
change, but nowit's mandatory, since loading a catlog by mimesignature is not
possible anymore).
Should fix#8037.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43021 a95241bf-73f2-0310-859d-f6bbb57e9c96
for be:deskbar_item_status in order to determine which replicants are supposed to
be living in the tray, a list of entry refs is now stored. While the former approach
was cool, it doesn't really work in either a multiuser or a package-aware world, where
executables are generally read-only. Note this means you'll lose your existing replicants
the first time you run this new revision, and need to re-add them.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43004 a95241bf-73f2-0310-859d-f6bbb57e9c96
Makes gcc4 happy.
Sorry for the inconvenience, build fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42996 a95241bf-73f2-0310-859d-f6bbb57e9c96