Commit Graph

52412 Commits

Author SHA1 Message Date
Rene Gollent 40d79c0587 Debugger: Fix type value display in VariablesView.
- When retrieving the type to display for a given model node, ask its
  underlying value node for its corresponding type rather than relying
  on the one initially stored in the model, as the latter can change
  as a result of typecasts.
2014-12-12 16:59:28 -05:00
Rene Gollent 1c1ffc46d5 Debugger: Minor tweak to DwarfType.
- When creating a derived type, adjust the name accordingly to indicate
  the additional qualifiers. Fixes a problem where casted type names would be
  displayed as their base type only, even if they included pointers or array
  subscripts.
2014-12-12 16:57:32 -05:00
Adrien Destugues 18bd706d85 Add package for the Substrate screensaver. 2014-12-12 16:43:58 +01:00
Adrien Destugues 3bcb69811b BOptionPopUp: call the superclass AttachedToWindow.
It's ther that the view background color is inherited from the parent.
Fix option popups having a white background eg. in MediaPlayer
preferences.

Thanks to DeadYak for noticing the problem.
2014-12-12 16:18:34 +01:00
Adrien Destugues f0eb9fcd93 FileTypes: make space for BBox titles
In some locales the title is longer than the space there is for it. Make
sure the boxes are wide enough for the title to display completely.

Fixes #11611.
2014-12-12 16:11:07 +01:00
Adrien Destugues 27627e22db DataTranslations: remove SetExplicitMinSize
It prevents the window to get big enough for some of the translators.

Fixes #11612.
2014-12-12 15:53:25 +01:00
Adrien Destugues 03f1ea8e5c Add package for Chat.
* This should be merged with the changes done in Dengon and Jabber4BeOS,
so let's raise the awareness of people about those by having packages
for it!
2014-12-12 13:51:01 +01:00
Rene Gollent cbd3910d6d Debugger: Minor syntax highlighter fixes.
- Add missing if/else keywords.
- Add missing comma that was preventing some keywords from being
  recognized properly.
- Add missing handling of condition operator.
2014-12-11 22:32:47 -05:00
Rene Gollent db1df758b8 Debugger: Cleanups.
SourceLanguage and friends:
- Remove ParseTypeExpression from SourceLanguage, as its functionality
  can now properly be subsumed by the general expression parser, and
  simply becomes another result type thereof.

CLanguageFamily/CLanguage/CppLanguage:
- Remove IsModifierValid() hook, as this is all now handled internally
  in the expression parser.

VariablesView:
- Refactor to handle typecast requests via expression evaluation. Since
  this is done asynchronously, rework the logic to handle recognizing
  expression evaluation results that correspond to a requested cast,
  and handle accordingly.
2014-12-11 22:17:35 -05:00
Rene Gollent 194d85f4a3 Debugger: Simplify expression parser.
- Remove handling of the power token, as it's not actually valid C/C++ syntax,
  and causes problems when parsing more complex pointer types/dereferences.
2014-12-11 22:17:34 -05:00
Rene Gollent d621fb88d7 Debugger: Fix problem in ArrayValueNode.
- The requested child indices weren't being correctly capped to the
  supported lower and upper bound.
2014-12-11 22:17:33 -05:00
Rene Gollent af76b51633 Debugger: Add basic support for types in expressions.
SourceLanguage/CLanguageFamily/ExpressionEvaluationJob:
- Add TeamTypeInformation parameter to EvaluateExpression() hook. Adjust
  implementing subclasses and callers accordingly.

CLanguageExpressionEvaluator:
- Add class InternalVariableID for representing intermediate variables
  generated while parsing an expression.
- When parsing an identifier, if we were passed in a type information object,
  then first attempt to resolve the name as a type. If not matched, then fall
  through to attempting to match it to a value node as before.
- When parsing an atom, check if it resulted in a type. If it did, and there
  still remains more of the expression to parse, then parse the result to see
  what value/variable to try to apply the typecast to. If the result is a
  primitive, generate an appropriate internal variable + value node child for
  it, otherwise use the target variable's child. Then, attempt to typecast it
  as requested.
- Simplify _EatToken().
- If the final result of an expression is a type, configure the result object
  accordingly.

As a result of all the above, an expression can now resolve to a type, allowing
the evaluator to take over the duties of parsing the desired type for a typecast
request in the variables view, and in addition, expressions themselves can now
contain typecasts, which opens up quite a few new possibilities.
2014-12-11 22:17:33 -05:00
Rene Gollent 9d6cd8b210 Debugger: Minor fix to CLanguageTokenizer.
- Properly differentiate the size of a parsed hex constant in order
  to return a correspondingly sized primitive, rather than always
  returning as 64-bit.
2014-12-11 22:17:32 -05:00
Rene Gollent 1b7af39a61 Debugger: DwarfImageDebugInfo cleanups.
- For simply looking up a type, we need neither the register map, nor
  the target interface, as those are only necessary for resolution of
  values and/or locations.
- Fix memory leak. A reference to the target interface was acquired in
  the type context's ctor, but not correspondingly released in the dtor.
2014-12-11 22:17:31 -05:00
Rene Gollent 5a4887a0db Debugger: Add type results to ExpressionInfo.
- In addition to a primitive or value node, expressions can potentially
  result in types as well. As such, extend ExpressionInfo to be able to
  return one, and indicate such a result kind appropriately.
2014-12-11 22:17:31 -05:00
Adrien Destugues 042bb68ed6 BGameSound: make Worms Armageddon sounds work
* When the endianness is not intialized, assume B_MEDIA_HOST_ENDIAN.
This is probably what was meant (and this is what Worms Armageddon
means).
* Move creation of the media nodes back to the initialisation instead of
StartPlaying, otherwise an extra node is created each time the sound is
played.
2014-12-11 17:17:55 +01:00
Adrien Destugues bf57c148f7 BGameSound: cleanup and several fixes
* Use a template to avoid repeating the panning code for each type
* Rearrange the initialization of BSimpleGameSound so the data is only
copied 0 or 1 times (it was copied 2 or 3 times in some cases) between
the passed buffer and the final one,
* Don't execute the panning code on streams with only 1 channel as this
makes no sense and it will read and write outside the buffers
* Abort early in GameSoundBuffer::Play if fIsPlaying is false.

Fix the crashes in Worms Armageddon. Doesn't fix the sounds being mostly
white noise.
2014-12-11 16:02:59 +01:00
Adrien Destugues 94d14479bb ListView: computate disabled color only for disabled items. 2014-12-11 10:39:51 +01:00
Adrien Destugues e3686c1bd2 ffmpeg add-on: fix typo. 2014-12-11 10:38:41 +01:00
Adrien Destugues 9a83a303b4 Add colorspace converter for YUV420P10LE to RGB32.
Fixes #9141.
2014-12-11 10:24:02 +01:00
Adrien Destugues d7d0a0284b ffmpeg: get pixel format names from libavutil.
No need to reimplement this when ffmpeg already provides it. Moreover,
our version was outdated and did not handle all color spaces.
2014-12-11 09:37:47 +01:00
Adrien Destugues 265f299627 ListView: move the color setting code to DrawItem
... so it can also be used by OutlineListView.

Fixes #11598.
2014-12-11 08:44:54 +01:00
Automatic Committer 79d01ffb11 Update usb.ids from www.linux-usb.org 2014-12-11 05:20:24 +01:00
Automatic Committer 4f7a2930c7 Update pci.ids from pciids.sourceforge.net 2014-12-11 05:20:23 +01:00
Puck Meerburg e4e2ce4ce3 When testing screensaver, don't have mouse move exit the screen saver.
Fixes #7463

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>
2014-12-10 21:18:30 +01:00
Adrien Destugues 75fe62cd00 Add package for Slayer. 2014-12-10 16:40:17 +01:00
Adrien Destugues ea22ee950d Update boost packages against newly built ICU.
Thanks to cdesai for providing rebuilt packages!
2014-12-10 16:36:23 +01:00
Adrien Destugues 6f20778781 ControlLook: fix DrawActiveTab with subpixel rectangle
Fixes #4078.

When font hinting is disabled, the width of a string may not be an
integer number of pixels. This results in the tab position also being
non-integer, and the drawing code doesn't handle this, resulting in part
of the tab being shifted 1px to the right.

Snap the rectangle to the pixel grid so the runding error doesn't
happen.
2014-12-10 13:50:19 +01:00
Adrien Destugues cbb8ebbbbb Set item colors in BListView instead of BStringItem
* Fixes #3970 without introducing the bugs from BeOS
* Makes it easy to override BStringItem just to change the text color.
* Makes it easy to implement custom list items using the correct colors.
2014-12-10 13:34:51 +01:00
Adrien Destugues 524288065b Test for #3970.
* This shows the problem in Haiku, it is not easily possible to change the
color of BStringItem.
* It also shows that the BeOS implementation doesn't restore the view
state after drawing items, so the last item in the list also draws
green, and selecting the first also makes it green.
2014-12-10 13:30:10 +01:00
Adrien Destugues 04f884284c Colorcontrol: show resulting colors in the slider
Instead of showing plain red, green and blue color ramps, show what
the color would be if you moved the sliders to each point.

This is what was done on Mac OS classic and is also used in some other
tools to help you targetting a particular color.

It also limits the need for a color preview, which BColorControl
currently doesn't include, forcing apps to implement one themselves.

Fixes #3790 (the patch there didn't apply anymore, so I redid the work.
Credits for the change should go to stpere).
2014-12-10 11:33:58 +01:00
Adrien Destugues d18ae0336e ape_reader: setup for hybrid build.
I forgot that media add-ons are hybrid by default. Fixes the build.
2014-12-10 11:00:49 +01:00
Adrien Destugues 1148ea734e AVCodecDecoder: remove annoying assert.
According to Colin this is not supposed to happen, but it does. Since
the affected video otherwise decodes just fine, I think it is safe to
disable the assert and not annoy our users.

Fixes #11409.
2014-12-10 10:03:59 +01:00
Adrien Destugues d181ea48ed Add the ape reader to the image again.
Fixes #7048.
2014-12-10 09:40:20 +01:00
Adrien Destugues ff72ec4fee APE reader: optimize seeking
* The APE SDK can only decode rather big chunks at a time (several
seconds), so our reader keeps an internal buffer of the last decoded
chunk.
* However, this was always dropped when seeking, meaning the same few
seconds of sound were decoded again and again.
* I'm not sure why MediaPlayer is trying to seek to the position it
already is at, but we can make it work, so why not.

Now the existing buffer is reused if possible when seeking. This makes
it possible to play APE files in MediaPlayer.

Also, several more style fixes.
2014-12-10 09:34:51 +01:00
Adrien Destugues 5480f203d3 APE reader: style fixes. 2014-12-10 09:11:22 +01:00
Puck Meerburg b0a48e3844 DriveSetup: Also mount BDiskDevices which contain a file system.
Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>

GCI2014, Fixes #6783.

* The "Mount All" Tracker menu only mounted partitions, not disks filled
directly with a filesystem.
2014-12-10 08:06:05 +01:00
Adrien Destugues 2311bdf24f AssembleNasm: add source dir to include path.
This makes it possible to %include local files. nasm doesn't allow this
otherwise (include paths are assumed relative to the working directory).

Fixes build of ape_reader.
2014-12-09 17:53:44 +01:00
Adrien Destugues 0fecd3e882 Build fix. 2014-12-09 17:30:55 +01:00
Adrien Destugues 7148abdcc2 HttpForm: implement copy constructor.
Thanks to GCI studdent arroyoc for finding that this was missing and
HttpRequest.SetFormData couldn't work.
2014-12-09 17:05:02 +01:00
Adrien Destugues ff68ae9837 ffmpeg: disable runtime frame rate changes support.
This change was introduced by Colin for DVB-T support, however it also
breaks the timing of several MP4 files. The code is incomplete and
computes slightly to very wrong frame rates (one video plays about twice
as fast as needed, another one attempts to play at 30000 FPS).

I suspect similar problems would be found when changing the frame rate
in DVB-T streams in the same way, so I'm disabling this code for now
until a correct solution is found or we manage to use a newer version of
ffmpeg (where there is an actual framerate field in the format and it
doesn't need to be derived from the time_base anymore).

This restores the previous behavior of computing the framerate at the
AVFormatReader level, that is, once per stream, rather than once per
frame. At the stream level we have enough data to compute an "average"
frame rate, and there is also an "r_frame_rate" (real frame rate) which
may be usable for this. Not having working DVB-T hardware to experiment
with that yet, I'll leave it to others.

Fixes #11283 and the last remaining problem in #4512.
2014-12-09 15:42:49 +01:00
Adrien Destugues dca4966cd6 ScreenTest: style fixes. 2014-12-09 15:17:20 +01:00
Adrien Destugues 77476b38fe ffmpeg gfx_conv_c: Style fixes. 2014-12-09 14:59:12 +01:00
Adrien Destugues d5b78822f7 Implement Y'CbCr 4:1:0 to RGB32 conversion.
* Also known as the YUV9 FourCC and used in SVQ1 (early QuickTime)
videos.
* Fixes part of #4512 (one more video played correctly) and replay of
all old Quicktime videos when you don't have overlay support.
2014-12-09 14:30:28 +01:00
Adrien Destugues 0edd73e467 FileTypes: fix layout of the FileTypeWindow.
* Fixes #10359.
* Thanks to Laurent Chea for investigating and identifying the problem.
His patch was not used because it makes more changes than needed.
2014-12-09 09:50:54 +01:00
Adrien Destugues ae0218ed54 SATDecorator: use the correct tab color
The tab color used for the SAT highlight was hardcoded to the default
yellow. Instead get it from the decorator settings.

Fixes #11571.
2014-12-09 09:34:08 +01:00
Adrien Destugues 4380baa4d7 DataTranslations: avoid layout jumping
* Constrain the list and "right view" sizes so the layout doesn't change
for each translator.
* Fixes #6897.
2014-12-09 08:47:09 +01:00
Laurent Chea 4cec648e86 Fix alignment in TextControl widgets
* Fixes #8391
preferences.

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>

* This was visible for example in the "double click text area" in Mouse
2014-12-09 08:24:14 +01:00
Niels Sascha Reedijk f36b3f9b3e Generate the Makefile for making docsets.
Docset is an increasingly popular format that is used to generate
an index for HTML documentation that can be viewed by specialized
viewers such as Dash (on the Mac). The output can only be generated
on a Mac currently. Enabling the DOCSET parameter will generate a
Makefile in the html output directory, which can be used to generate
the Docset itself.

Enabling the Docset Makefile does not negatively impact other things,
as such it seems safe to just enable it for whoever wants to build
the docset on a mac.
2014-12-08 22:14:24 +01:00
Jérôme Duval bbcb9a572a updated python package 2014-12-08 21:36:01 +01:00