Commit Graph

29994 Commits

Author SHA1 Message Date
Ingo Weinhold 3c5dbb462d * Moved Array.h to new directory "types".
* Added StringUtils with string hash functions.
* Added Locatable{Entry,File,Directory} and FileManager classes to manage the
  mapping from debug info/target file names to local file names.
* Image does now have a LocatableFile referring to the image's shared object
  file. Added listening to location changes of these files to TeamDebugger. No
  action is taken yet (should trigger reloading the debug info).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 22:09:33 +00:00
Ingo Weinhold 7aa7cb4b54 * Renamed {Add,Remove}Reference() to {Acquire,Release}Reference(). Methods with
the old names still exist as deprecated aliases for the time being.
* Introduced hooks FirstReferenceAcquired() and LastReferenceReleased(). Besides
  added flexibility this also makes the deleteWhenUnreferenced constructor
  parameter and the fDeleteWhenUnreferenced attribute superfluous, since the
  "don't delete" behavior can be obtained by overriding LastReferenceReleased().
  Parameter and attribute will be removed eventually.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 21:59:27 +00:00
Stephan Aßmus 668ed70bd0 * Use a static global object to initialize libavformat and libavcodec.
* Turn off tracing in the AVCodecDecoder which I accidentally turned on in
  a previous commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 21:16:55 +00:00
Stephan Aßmus 53db45b7d3 * Added libavcodec to include dirs of libavformat
* Removed inclusion of internal.h from libavcodec.h, it's not there in the
  plain FFmpeg 0.5 version of the file.
The last item fixes the GCC2 build, at least AFAICT.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 20:39:18 +00:00
Oliver Ruiz Dorantes 880e57277e Add Strings for bluetooth errors
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 20:31:02 +00:00
Rudolf Cornelissen dd92605394 and fix the PLL setting dumping code for extended PLL's. BIOS settings now make sense on extended PLL's. This fix does not change the drivers behaviour.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 20:18:15 +00:00
Rudolf Cornelissen 4bc3f15ce3 fixed digitally connected panel at crtc2 detection, stupid typo. This lead to the driver exporting and accepting zero modes if a panel was at crtc2. Result was a black screen. Error was introduced when updating for EDID use.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 19:54:23 +00:00
Stephan Aßmus 5f25b3a353 Removed ffmpeg build system left-over.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 19:20:52 +00:00
Stephan Aßmus 27f6fb6ce7 * Renamed avcodec folder to ffmpeg.
* Cleaned up plugins Jamfile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 19:19:49 +00:00
Stephan Aßmus 043eaa5c3f Cleaned up the source file names and code locations in the avcodec plugin,
unified the Reader and Decoder plugins and renamed the add-on to "ffmpeg".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 18:52:48 +00:00
Stephan Aßmus 007ea5873a Extended the ScrollView API a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 18:50:22 +00:00
Stephan Aßmus cd170ddc34 * Added libavformat. I would like to rename the plugin from "avcodec" to
"ffmpeg" and export multiple plugin types from the same plugin (Decoder and
  Reader).
* Work in progress on an libavformat based Reader plugin, does nothing yet.
* Moved config.h from libavcodec subfolder up one level, so that it's used
  by libavformat as well. Adjusted libavutil/common.h accordingly.
* Turned off GPL code in config.h
* Turned off BeOS muxers in config.h
* Turned on HAVE_THREADS and HAVE_PTHREADS, although that is nowhere used
  in the ffmpeg code (it appears).
* Indentation cleanup in avcodecplugin.h

I have built this with GCC4, but last night I built libavformat.a with GCC2
so I am hoping this doesn't break the GCC2 built.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 14:45:20 +00:00
Ingo Weinhold ff293f209a Added (const char*) cast operator. That makes BString more convenient to pass
around, particularly returning it from methods instead of a const char*, if the
object stores the string as a BString anyway, thus leveraging CoW.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 13:11:30 +00:00
Jérôme Duval 05218580c7 * fix warnings
* add usb_midi to the image


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 19:07:26 +00:00
Rudolf Cornelissen 646357964f fixed panel detection for NV11, I accidentally broke that with a recent commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 18:35:32 +00:00
Rudolf Cornelissen 2cdfd70e42 small cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 18:12:23 +00:00
Stephan Aßmus f3797c5ae5 Patch by Jeroen Oortwijn: Improve the tab-key focus-cycle ordering of the
Tracker Settings window. Thanks a lot! Fixes ticket #4051.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 16:34:13 +00:00
Axel Dörfler c85220c63a * This fixes my last change...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 15:34:08 +00:00
Axel Dörfler a1c6f0fde1 * Applied patch by Andreas to unify SVN version detection with GIT, also fixing
bug #2860.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 15:20:54 +00:00
Axel Dörfler b6fffec7e1 * The fs_shell is now always using BLKGETSIZE64 on Linux, and only if that fails
it will fall back to HDIO_GETGEO.
* This fixes incorrectly reported disk sizes for a number of disks I have here.
  Please open a bug report if this change causes problems for you (we would then
  have to check the kernel version to choose the preferred method).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 15:16:50 +00:00
Ingo Weinhold 7413cddee6 Add the compilation unit's compilation dir to the directories for the
compilation unit. It can be referenced by the file entries in the line info
header, too (index 0).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 14:35:00 +00:00
Ingo Weinhold d68a0c6f4f Added DIECompileUnitBase::CompilationDir() getter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 14:33:07 +00:00
Ingo Weinhold df9cc7340c Retrieve the source file declaration locations for functions and attach them
to the DwarfFunctionDebugInfo objects. The functions do now appear organized
by source file in the function list view. Unfortunately the list view is too
small to look as clear as it should. Got to think of something else I'm afraid.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 12:57:41 +00:00
Ingo Weinhold 91c6759f30 * Added parsing the .debug_line header for each compilation unit and attaching
the include directory and source file names to CompilationUnit.
* Added DwarfUtils::GetDeclarationLocation() which retrieves the respective
  source file name and line/column index for a given DIE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 12:48:46 +00:00
Stephan Aßmus c8e27e390c Unified the "no menu, border, controls" settings to a single "no interface"
setting and made them available in the context menu again. During my testing,
I couldn't find any weird behavior, only the window dragging should still be
a problem on slower computers when multiple mouse messages piled up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 12:47:41 +00:00
Ingo Weinhold ebf36c3bec ImageFunctionsView::FunctionsTableModel:
* Fixed typo in SetImageDebugInfo() setting the wrong source file function
  start indices.
* Fixed incorrect return values in _CompareSourceFileNames().
* Fixed several instances of ignoring the source file's function start index.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 12:41:02 +00:00
Axel Dörfler da30b4bf83 * With the help of Stippi's "I Will Survive" article, the VolumeControl
replicant should now handle media server restarts, or late starts gracefully.
* This fixed ticket #4002.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 10:14:54 +00:00
Ingo Weinhold 5b60969c5c * Renamed ArchitectureTypes.h to Types.h.
* Created "types" subdirectory for basic types and moved Types.h,
  SourceLocation, TargetAddressRange there.
* Added TargetAddressRangeList, representing a list of address ranges.
* Array: Added copy constructor and assignment operator.
* Added DwarfFunctionDebugInfo.
* ElfFile: Also read the program headers and provide access to the segment
  information.
* DWARF:
  - Some work on DIECompileUnitBase and DIESubprogram to handle attributes we
    need.
  - Added DwarfUtils class which provides static utility methods. Currently some
    to get DIE names. Only provisionally implemented yet.
  - Read range list attribute values from the .debug_ranges section. Extended
    AttributeValue to handle them correctly (ref-counting).
* DwarfImageDebugInfo:
  - Implemented GetFunctions() for real, i.e. we return functions for all
    subprogram debug info entries we find (those that refer to actual
    functions, that is).
  - Implemented the fallback part of LoadSourceCode() (reading the code from the
    file and disassembling it).

Things should hopefully work as before, just a bit slower and with less accurate
function names, if DWARF debug info is available. Promising, eh? ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 22:38:15 +00:00
Jérôme Duval e602845c35 the first index is zero, not one
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 22:12:20 +00:00
Jérôme Duval bb52f762f2 typo fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 21:19:23 +00:00
Ingo Weinhold a0747aad3b After the first call to BView::InvalidateLayout() further invocations don't
invoke the layout's InvalidateLayout() anymore. This could cause problems when
the layout caches layout related information and also updates those on calls
other than LayoutView(). A call to such a method after an InvalidateLayout()
would mark the cached info valid and the layout would use the cached info
until the first InvalidateLayout() after the next LayoutView(), even if
BView::InvalidateLayout() had been called again in the meantime.

* Introduced a new method BView::ResetLayoutInvalidation(), which must be
  called by layout implementations whenever they have updated their cached
  information and need further InvalidateLayout() notifications.
* Adjusted the existing layout implementations to use the method.

Fixes bug #4047.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 14:18:12 +00:00
François Revol 23eb9a9e82 Set default ARFLAGS to cru instead of ru. No functionnal change, but it should suppress a warning about ar needing to create the archive.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 11:01:46 +00:00
Axel Dörfler b49a46a7ff * Inode::_AddSmallData() now supports writing at an arbitrary position.
However, Inode::WriteAttribute() still has a number of problems when this is
  actually used; contents could get lost when an attribute is moved from the
  small data section to an attribute file, and the index might not be updated
  correctly when you write within the first 256 bytes, but not at position 0.
  Since these problems aren't exposed with how we're using BFS right now, it's
  not that bad, though (Inode::WriteAttribute() supports everything correctly
  that it had to under BeOS).
* Added test application for certain fs_attr functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 10:40:01 +00:00
Axel Dörfler d1084ff757 * Renamed fs_attr.c to fs_attr.cpp and cleaned it up a bit.
* Always use _kern_create_attr() in fs_write_attr(), or otherwise it might not
  be created when it should.
* Stippi special: fixed typo "in another words" -> "in other words" ("a" is
  singular, not plural).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 09:56:22 +00:00
Stephan Aßmus 8fb7098371 Cut down on the required number of syscalls by using the new Haiku API
for reading/writing attributes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 09:35:39 +00:00
Stephan Aßmus 125f5b846c The copy_attributes() loop made one iteration too much trying to read and
write 0 bytes after doing a successful copy of an attribute. Since
fs_write_attr() was actually ignoring the position argument, this would just
clobber attributes and truncate them back to 0 bytes. This was fixed in the
previous commit, however, it should be noted that if the buffer which
copy_attributes() uses were too small, writing attributes which live in the
"small data section" iteratively would not work because of a current BFS
limitation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 09:13:33 +00:00
Stephan Aßmus 181593ba0b * Properly document why fs_write_attr() does what it does.
* As even the author of fs_attr.c was trying to use fs_write_attr() in an
  unsupported way in the cp copy_attributes() implementation, try to be
  more forgiving and support writing attributes at an offset. The method is
  required to behave inconsistent in that replacing bytes at offset 0 is
  not supported as replacing bytes at any other offset. Writing at offset 0
  will clobber the existing attribute to stay compatible with BeOS.

NOTE: BFS itself still does not support writing attributes at an offset which
are withing the "small data section". To work around this problem, programs
which copy attributes in a loop must make sure that their buffer is large
enough that such "small data section" attributes require only one loop
iteration.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 09:08:43 +00:00
Rene Gollent 254d2b2d1a Fix a number of problems in PoseView:
1) If a node was filtered out by the ref filter, PoseView effectively wiped out all evidence that it ever knew the node existed and stopped listening for changes on it. Consequently, it would never notice if an attribute change such as updating the file's type made the file now eligible to be viewed. Now we keep watching the node and keep it on the zombie list until such time as it passes the filter (if ever).
2) Refresh() cleared the pose list, but not the inserted nodes list. Consequently, any nodes that were already visible before calling Refresh() would not be readded.

This fixes various problems seen in the file panels in WonderBrush (and probably others), such as the file panel initially coming up empty sometimes, and also it not noticing new screenshots,

This closes ticket #1717.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 00:06:00 +00:00
Michael Lotz ca1def886d * Big cleanup, remove dead code, some renaming, line lengths, spacing,
use B_* error codes, print most numbers as normal decimals or at least prefix
  them with 0x where appropriate.
* When counting free clusters for FAT32 correctly ignore the uppermost 4 bits
  when checking for free entries. Shouldn't matter, as those should always be
  0 anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 23:41:48 +00:00
Stephan Aßmus 1f3691df0f * In theory, we should support getting the video aspect from the current stream.
* Added "Force Aspect Ratio" to Video menu and context menu.
* Removed some code duplication in handling the video size messages.
* Added track selection sub-menus to the context menu, replacing the IMHO
  not so important interface settings items.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 18:48:00 +00:00
Stephan Aßmus 07cad22ee7 Connect the Audio/Video track selection menus with the controller. Works great.
Totally "gapless", unlike any other media player I've ever used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 17:42:54 +00:00
Ingo Weinhold dec094bb73 Added expression support to the position text control. It's not quite the
direly missing "Go To" function, but better than nothing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 17:13:48 +00:00
Ingo Weinhold c5791c74ed Jamfile that should have been part of the previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 17:11:45 +00:00
Ingo Weinhold 59d799dabc * Moved the mapm library from src/apps/deskcalc to src/libs and headers/libs.
* Moved the ExpressionParser class to shared. It's now built into its own
  static library.
* Added hexadecimal number support to the expression parser as well as
  Evaluation*() methods to get a number instead of a string.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 17:10:40 +00:00
Ingo Weinhold aa6b2770fc Fixed gcc 4 warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31297 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 16:38:32 +00:00
Rudolf Cornelissen 9e347ade99 now checking for max. resolution on analog screens as well as on digital screens. Resolutions above 'native' resolutions are nolonger accepted. Bumped version to 0.94, updated docs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 15:22:31 +00:00
Rudolf Cornelissen c8453f43a4 driver now sets up internal EDID info related to CRTCs next to earlier introcuded code for EDID info related to connectors which makes it much more useable later on. This commit also hopefully fixes the problem introduced in R31183 shutting off some screens in 'invalid' connector setups that the driver tries to correct.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 14:53:07 +00:00
Jérôme Duval c1094043c9 updated libpng to 1.2.37
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 13:46:52 +00:00
Jérôme Duval 590a78c63a updated mesa to 7.4.4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 13:40:23 +00:00
Rene Gollent 2688837424 Fix assertion when using Tracker in debug mode. This closes ticket #1636.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 02:27:59 +00:00