Commit Graph

41276 Commits

Author SHA1 Message Date
Peter Polacik
8f03c411b0 A makefile/Jamfile engines How To added
* This document was written during GCI 2011
  by Peter Poláčik and is explaining how to use
  makefile and Jamfile engines to start and
  setup new development projects for Haiku.

Signed-off-by: Siarzhuk Zharski <zharik@gmx.li>
2011-12-10 08:31:18 +01:00
Alexander von Gluck IV
802ac6355d Style cleanup, space after switch as it is not a function 2011-12-09 21:26:43 -06:00
Alexander von Gluck IV
79ac92f311 Style cleanup of connector detection
* remove xxx_xxx variables
* small bit of code consolidation
* build fix due to missed braces in IGP change
2011-12-09 21:26:42 -06:00
Alexander von Gluck IV
4faf6f2276 Style cleanup. Variable rename, fill out IGP TODO a little better 2011-12-09 21:26:42 -06:00
Alexander von Gluck IV
afdf055d48 Contextual style cleanup
* Remove un-needed line breaks
* Remove un-needed parentheses
2011-12-09 21:26:42 -06:00
Alexander von Gluck IV
0cd5024dbb Pointer style cleanup; Variable consolidation 2011-12-09 21:26:41 -06:00
Alexander von Gluck IV
61cf713381 Include file style cleanup, no functional change 2011-12-09 21:26:41 -06:00
Rene Gollent
9147ed0fd6 Remove obsolete TODO.
At least as far as I can tell, the template parameters are actually exported
as part of the DIESubprogram name itself, and don't need to be separately
retrieved.
2011-12-09 20:22:12 -05:00
Alexander von Gluck IV
654dc4bfab Use bridge encoder flag vs making direct calls to check 2011-12-09 16:47:26 -06:00
Alexander von Gluck IV
7a13bce56d More work towards DP support.
* add DPBridge encoder flag and set during connector detection
* if external bridge found, do external DDC setup
* pass connectorIndex vs displayIndex to encoder_*_setup
* some of the DP AUX channel stuff should go into accelerant
  common code some day like i2c.
2011-12-09 16:39:22 -06:00
Alexander von Gluck IV
60b7d1defb Add i2c DP AUX communication calls
* remove posix return
* pass GPIO hwLine through vs connector index
* variable scope cleanup
* make lowest level dp aux AtomBIOS call static, non-public
  as it is always called by connector code
2011-12-09 15:36:33 -06:00
Rene Gollent
11d60eaa36 Fix handling of modifiers.
When retrieving modifiers, we're actually pulling them off the type
in reverse order. Consequently we need to build the type's modifier string
similarly.

If the first modifier is a const, prepend it to type name instead.
2011-12-09 11:35:33 -05:00
Michael Lotz
b5cc636fa4 Make a copy of the mode list as it might be realloced later.
The fModes array is realloc'ed as needed when adding modes. Therefore
the fModes pointer handed in to AddModes() becomes invalid once
_MakeSpace() returns in that function causing a freed memory block to
be used as input.

To avoid that we make a copy of the base mode list and then use that to
add the modes for each color space.
2011-12-09 16:00:35 +01:00
Michael Lotz
6ba5fa4d64 Ensure 0 termination of the buffer being converted to a string.
The file content isn't normally 0 terminated, so making a string out of
it would usually result in reading beyond the allocated buffer to find
the string length, possibly leading to a crash.
2011-12-09 15:29:10 +01:00
Alexander von Gluck IV
232ba1d6f6 Remove un-needed posix return 2011-12-08 18:00:10 -06:00
Alexander von Gluck IV
247a279283 Add calls to read and write data from AUX connector
* clean up previously changed error returns in 8c01b4. For
  some reason I thought B_ERROR was the only non-positive
  status.
* add VESA DisplayPort defines. Only a subset so it's local
  to radeon_hd for now.
* this completes basic AUX transaction code, still untested
2011-12-08 17:57:22 -06:00
Alexander von Gluck IV
8c01b45a65 Style fix, return B_ERROR instead of hacking together a neg. return code. 2011-12-08 17:11:22 -06:00
Alexander von Gluck IV
36de623307 Speak aux data via AtomBIOS call
* add function to speak DP AUX data via AtomBIOS call
* clean up connector index variable names
2011-12-08 17:03:26 -06:00
Rene Gollent
309993503f Additional sanity checking.
Also ensure that the return parameter isn't touched unless we
definitely succeeded.
2011-12-08 17:10:10 -05:00
Rene Gollent
5f1b3713c0 Add support for parameters when building function names.
When asked for a fully qualified DIE name, we now add the parameters
of functions as well. This allows them to show up in, e.g. the function
list view. Still needs some work but basically functional.
2011-12-08 17:05:15 -05:00
Rene Gollent
6066a80794 Fix handling of variable specifications.
In the case of variables that refer to static members of compound types,
the specification will be a reference to a DIEMember rather than a
DIEVariable in DWARF3. Relax our restrictions accordingly.
2011-12-08 16:31:04 -05:00
Ingo Weinhold
a5c5479710 media addon server: Fix incorrect array offset for safe mode
Missed that when back porting 323b65468e.
2011-12-08 22:17:58 +01:00
Alexander von Gluck IV
104c404c7e Move connector code into new connector source file.
* clean up some comments
* most of this movement is prep for AUX display transactions
2011-12-08 14:03:43 -06:00
Alexander von Gluck IV
4540f5e929 Create connector source file, move connector bus calls into it
* this will help break apart some of the sources
* display bus communications really don't belong with GPU operations
* rename functions to better describe their actions
2011-12-08 13:42:47 -06:00
Rene Gollent
be63c91230 Fix incomplete/incorrect type lookup.
- Add accesor to CompoundType to expose the particular compound kind.

- Implement aforementioned accessor in DwarfCompoundType, and ensure
  DwarfTypeFactory populates it appropriately.

- Modify GlobalTypeLookup to make use of the address and compound
  subtype kinds when trying to match a type.

Due to the lack of matching against the subtype, we would previously wind
up matching anonymous compound types against those of their parents, resulting
in the wrong type getting assigned to their value nodes.

Fixes #8190.
2011-12-07 21:54:44 -05:00
czeidler
8cfe0f458c When calculating the min, max and pref size, relax the range of the right and bottom tab. These tabs are set to the layout borders again when solving the layout. 2011-12-08 11:22:09 +13:00
Michael Lotz
c5fd97e486 Remove needless call to String(), there's an operator for that.
The operator const char*() automatically converts to the needed type
so the explicit BString::String() call isn't needed here. Thanks to
Clemens for pointing that out.
2011-12-07 17:09:14 +01:00
Rene Gollent
4cc7fee152 Fix broken debug output. 2011-12-06 21:32:09 -05:00
Rene Gollent
e0031e05f9 Merge branch 'master' of ssh://git.haiku-os.org/haiku 2011-12-06 21:27:45 -05:00
François Revol
8408920712 Fix rect calculation.
Not sure what the intended height is though. 16 or 17?
2011-12-07 03:05:58 +01:00
François Revol
09a0999c68 Style fix
Yes, I do need to change my glasses.
2011-12-07 02:49:43 +01:00
Rene Gollent
9dd2d63b15 - We now build up the argument list in a BStringList and map argv to those.
The previous solution had various issues where argv pointed to stack-based
  objects that had potentially been destroyed/overwritten already. Fixes
  #8173.

- Modify _SetupGDBArguments() to return an error code and check for it
  accordingly.
2011-12-06 20:07:06 -05:00
Rene Gollent
c0954dc661 - We now build up the argument list in a BStringList and map argv to those.
The previous solution had various issues where argv pointed to stack-based
  objects that had potentially been destroyed/overwritten already. Fixes
  #8173.

- Modify _SetupGDBArguments() to return an error code and check for it
  accordingly.
2011-12-06 19:56:04 -05:00
François Revol
cee4855acb Better calculation of the Deskbar replicant size
Patch by RQ from ticket #8156 that accounts for the workspaces layout.
2011-12-07 01:24:09 +01:00
Michael Lotz
97680106f0 Add a userland version of the guarded heap to libroot_debug.
The guarded heap uses mprotect() to protect freed/unallocated pages so
that any access to such a page results in a segfault. It also installs
a segfault handler that in such an event prints some info about the
accessed page and then calls the debugger with a meaningful message.

It implements the same interface as the debug heap so it can simply be
swapped out by changing the Jamfile. As it doesn't support most of the
extra debug features (wall checking is obviously superfluous, but it
also doesn't help in leak checking) and as it is hugely space
inefficient I left it disabled for now.
2011-12-07 00:40:47 +01:00
Michael Lotz
674e76845d Returning a string stored in a local BMessage doesn't work.
Instead use a BString object as return type that copies the string
so that it stays valid after return.
2011-12-07 00:26:07 +01:00
Michael Lotz
f28e19f5be Use the right value as id for the BTranslatorRoster call.
The loop counter was used as the id directly instead of using it as the
index into the translator_id array.
2011-12-07 00:21:21 +01:00
Michael Lotz
e6f323bb57 Strings owned by local stack objects can't be returned.
The BString is destroyed when the function returns and takes the
storage pointed to by BString::String() with it, so returning such a
pointer is bogus. Instead the return type is now a BString which takes
over ownership of the string.
2011-12-07 00:16:23 +01:00
Michael Lotz
f589e913a7 Fix end of range check to not read beyond the allocation.
The counter j is equal to fTeamCount if no matching team was found in
the team array. Therefore using it as an index into the team array was
invalid.
2011-12-07 00:10:17 +01:00
Michael Lotz
5e5eef0b5b Fix the page need calculation, it was possibly off by one. 2011-12-07 00:09:31 +01:00
Siarzhuk Zharski
02e8a1d136 Fix stdc++ linkage problem for setmime.
* Adding setmime was incorrect - the wrong [non-stdc++] section was
  used. Sorry.
2011-12-06 21:49:33 +01:00
Aleksas Pantechovskis
e9c0da3452 Haiku clone of the BeOS setmime tool added
* This tool was created and implemented in draft during GCI 2011
  by Aleksas Pantechovskis, <alexp.frl@gmail.com>;
* Later it was heavily refactored and optimized to Haiku Coding
  Standards by Siarzhuk Zharski;
* Icons support still missing;
* Thank you for the contribution, Aleksas!

Signed-off-by: Siarzhuk Zharski <zharik@gmx.li>
2011-12-06 20:55:53 +01:00
Michael Lotz
da3ce43440 Erase the entry only after its last use. CID 11042. 2011-12-06 20:00:48 +01:00
Michael Lotz
011002e5e4 Fix uses of member after deleting the object. CID 10535, 10534. 2011-12-06 19:37:46 +01:00
Michael Lotz
8eec72dcab Use safe length measure function and fix length usage.
* We may get non-terminated strings so we need to use the
  UTF8NextCharLen() version that works with a length. Previously we may
  have read beyond buffers, possibly leading to crashes.
* Also the length parameter is used as an actual length and not as
  buffer size. The length check was wrong before, which resulted in the
  function returning too early if an offset was supplied.
* Added a comment about the guaranteed 0 termination in one case.
* Minor cleanup.
2011-12-06 19:15:36 +01:00
Michael Lotz
9f65f3dd66 Rename variable so it is clear what is measured (bytes). 2011-12-06 19:13:26 +01:00
Michael Lotz
dd26f81c56 Add an UTF8NextCharLen() version that takes a string length.
This one works with non-terminated strings that we may need to handle.
It also validates that the sequence is valid UTF-8 so it results in
the same behaviour as the version that is used when converting to
codes (syncing the enumeration and drawing behaviour).
2011-12-06 19:09:56 +01:00
Michael Lotz
fb3c47ebad Fix passing non-terminated string to font functions.
The string that is built for hashing the escapements for missing
chars was not 0 terminated, leading to accesses past the string.
Depending on what followed an allocation that could lead to too long
strings being sent to the app_server for evaluation (where, due to
defensive, programming nothing bad would actually happen). In the
unfortunate case that nothing followed the allocation (i.e. end of
heap area), it could also lead to an application crash.

Therefore ensure 0 termination of the string, check for allocation
failure and use memcpy() instead of a for loop to copy the bytes from
one string to the other.
2011-12-06 15:46:36 +01:00
Michael Lotz
ded69b4c3a Only the to be protected range needs to be non-wired.
When setting memory protection, only ensure/wait for the range that
needs to be protected to not be wired instead of requiering the whole
area to be non-wired. The memory protection is done page wise and
having some parts of the area wired shouldn't preclude other parts to
be protected.
2011-12-06 15:39:56 +01:00
Michael Lotz
62bb375688 Restructure wait_for_thread_etc() to make it easier to follow.
* Avoid needless adding of the death entry if the sem is gone already.
* Delete objects as soon as they aren't needed anymore and return
  early where possible.
* Contain the thread == NULL case in its block and return from there as
  well instead of non-obviously figuring out what happened later.
* Pull out the return code asignment.
* Minor cleanup.
2011-12-06 02:30:17 +01:00