Commit Graph

40451 Commits

Author SHA1 Message Date
Alex Wilson
eee4243d35 De-virtualize BView::InvalidateLayout() and introduce LayoutInvalidated() hook, like BLayout. 2011-10-28 14:16:43 -06:00
Alex Wilson
b38ea98f52 Devirtualize BLayout::InvalidateLayout(), add a protected hook BLayout::DoLayout(). This will allow for much better control over the propagation of layout invalidations, and therefore cleaner, more optimal code. 2011-10-28 14:16:39 -06:00
Alex Wilson
449f014bcc Fix typo in BLayoutItem::SetLayout() which led to passing the wrong layout to the DetachedFromLayout() hook. 2011-10-28 14:16:37 -06:00
Alex Wilson
f87e4c7302 Fix bug in Layout.cpp's ViewRemover struct. operator() didn't deal well with NULLs. 2011-10-28 14:16:34 -06:00
Alex Wilson
90e615679c Fix a bug in BLayout::AddItem() where the right conditions + an error would have
caused the wrongful removal of a BView from its parent.
2011-10-28 14:16:31 -06:00
Alex Wilson
b8725ee37e De-virtualize BLayout::Relayout(). I think this was virtual only by accident. 2011-10-28 14:16:28 -06:00
Alex Wilson
4e0131f51b Rename BLayout::DerivedLayoutItems() to DoLayout(), which is consistent with BView::DoLayout(). Also adjusted child classes and documentation. 2011-10-28 14:16:25 -06:00
Alex Wilson
676c618ad7 Add a little info to the BLayout docs. 2011-10-28 14:16:22 -06:00
Alex Wilson
cc1ca167a4 Fix a memory leak I introduced with my modification of BLayout::RemoveItem() and add comments so that it doesn't happen again. Also resolve some TODOs on the appropriate timing of calls to hook methods in BLayoutItem/BLayout. 2011-10-28 14:16:19 -06:00
Alex Wilson
fa01d08496 User BView's layout item tracking functionality to simplify and optimize some methods in BLayout and BView.
Delete BLayout::RemoveViewRecursive() as it is no longer needed.
Add a few TODO's.
2011-10-28 14:16:16 -06:00
Alex Wilson
30b07d019d Use the classes from AutoDeleter.h to improve BLayout::AddView() and to simplify the ViewRemover struct created for BLayout::AddItem(). 2011-10-28 14:16:13 -06:00
Alex Wilson
ea907ab587 Use BView's ability to track what layout items reference it to simplify BLayout::IndexOfView(). This also changes the semantics slightly, but I think it is a logical change. 2011-10-28 14:16:10 -06:00
Alex Wilson
bd97b9adba Add a BObjectList<BLayoutItem> to BView::fLayoutData that keeps track of any BLayoutItems that refer to this view that are part of a layout. BLayoutItem does the registering/deregistering of the items, and BView::Private proxies fLayoutData for us. Currently, this is not used anywhere, but there are many places where it will be used soon. 2011-10-28 14:16:07 -06:00
Alex Wilson
edb4c8244c Add a method to BView::Private that calls BView::_RemoveSelf().
Add a struct to kits/interface/Layout.cpp that uses BView::Private to
provide RAII mechanics for the removal of views (calling
BView::Private::RemoveSelf()).
Use the new struct to simplify BLayout::AddItem().
2011-10-28 14:16:03 -06:00
Alex Wilson
0926395334 Fix problem in LayoutTest1 under gcc4. For some reason, toggledView was
being assigned to twice, while being passed to Add(). Under gcc4, the
second call to Add(toggledView = new TestView(), ...) was passing in the
original value of toggledView, not the new TestView, which caused a call
to debugger().
2011-10-28 14:16:00 -06:00
Alexander von Gluck IV
397fbc47bb * better identify BAR location defines
* fix bug where we were using an r600 bios pull method
  on r700 cards. this should help prevent shadow rom fallback.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-28 19:08:37 +00:00
Alexander von Gluck IV
f52ca69c79 * attempt to reduce tracing spam a bit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-28 16:39:26 +00:00
Alexander von Gluck IV
8fbddad17c * better use Radeon HD 4xxx (r7xx) VM FB registers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-28 04:42:16 +00:00
Alexander von Gluck IV
025d4eed52 * reorganize register definitions
There were a large number if incorrect, duplicated, misplaced
  registers that were leading to bugs in the code.  This is my first
  shot at cleaning them up.  Luckly as we are using AtomBIOS the number
  of registers we need to know about is shrinking.
* remove registers left over from register banging days
* r770 is less then r710, r720 in the drm sources. Fix in code.
* enable newer radeons for testing


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-28 04:30:54 +00:00
Alexander von Gluck IV
139848f37a * bailing when we can't idle the MC is the correct
behaviour... but while things are incomplete
  it may be better to try and push on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-27 18:03:02 +00:00
François Revol
fe0bb0ec24 Cleanup: reorder includes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 23:56:40 +00:00
François Revol
3c6f4dd82e A description of the Atari TOS PRG file format I used to write the ldscript for the .prg bootloader at src/system/ldscripts/m68k/boot_prg_atari_m68k.ld
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 23:55:00 +00:00
Siarzhuk Zharski
9de720a4ac * Propose using $(STDCPPLIBS) definition for version-independent linking
of standard C++ libraries (stdc++.r4 <-> stdc++ supc++);
* Force C++ language at preprocessing the sources before localization catkeys
  collecting. It gives a hint for compiler to handle .pre file as C++ one 
  preventing breaking on "unfound" C++ headers. Thanks to Vitaly Diger for 
  pointing it out.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 20:12:09 +00:00
Alexander von Gluck IV
bbcc2a8c03 * lets idle the memory controller before checking if it's idle
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 14:11:24 +00:00
Alexander von Gluck IV
46af81655d * redesign pretty much everything frame buffer related
* don't resize the frame buffer after mapping it.. doesn't make sense
* add memory controller code and program the memory controller for r600
* remove unneeded frame_buffer_int
* don't malloc mc_info, waste of time
* fix scaler setting
* vramStart in mc should be 0... get vertical colored lines however when this
  this is set properly (everything in mc_info is the MC view of FB BAR)
  When vramStart is the FB physical address... i get proper video on some cards
  ... thoughts?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 04:51:51 +00:00
Joseph Prostko
5dfed04886 * Fix a couple of spelling mistakes, one which affects functionality
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 02:32:59 +00:00
François Revol
97e22a9b50 Workaround missing mkisofs in Debian sid for ppc boot CD. It needs a rewrite anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 00:02:02 +00:00
Alexander von Gluck IV
a96db7dc36 * vesa != intel. *cough*
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 20:29:41 +00:00
Alexander von Gluck IV
6c80b06bb8 * same blanking value, correct define.
* set blanking color to full red for debugging
  to know when blanking is enabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 18:54:17 +00:00
Alexander von Gluck IV
62278874a6 * add TV encoder setup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 18:34:47 +00:00
François Revol
6f6d1e36fd Missed the most important: machine infos.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 17:43:33 +00:00
Alexander von Gluck IV
07a90a634d * add better tracing
* add encoder quirks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 17:25:09 +00:00
François Revol
18b34d36b7 Put radio buttons in columns. Tried to use the user guide css but it doesn't like having DIV elements everywhere.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 17:16:44 +00:00
François Revol
9191eeb755 Add missing name attribute so the field does get sent as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 16:53:58 +00:00
François Revol
2362652a4b Make it look a little better.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 16:43:26 +00:00
François Revol
19618f8bba Better message.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 16:25:57 +00:00
François Revol
6c278c3b97 Make sure we close previous instances of netcat and ignore empty files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 16:14:49 +00:00
François Revol
93b9886a44 Add some notify calls to give visual indication of the script working. Doesn't take too much time but...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 16:06:51 +00:00
François Revol
9829800d2c A prototype of hardware reporting form generating script for the compatibility list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 15:49:39 +00:00
Alexander von Gluck IV
da9d54ead0 * be a little clearer in tracing on whats going on
when we fallback to shadow rom
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 15:49:23 +00:00
Philippe Houdoin
427e96598c Revert back my change as its broken.
I will take some rest as obviously I should not allwed to commit anything rigth now.
Sorry guys.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 06:46:40 +00:00
Philippe Houdoin
cc6dd72fbb Update B_USB_RAW_COMMAND_GET_DESCRIPTOR to support retrieving
up to total_length a configuration descriptor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 06:19:49 +00:00
Alexander von Gluck IV
62605d2824 * redesign code that locates AtomBIOS
allows for more flexible searching
* check out shadow VGA bios as very last resort
  may cause issues but not a bad last resort
  compared to an app_server crash
* better tracing


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 02:29:25 +00:00
Philippe Houdoin
1ce29039cd Revert r42812. As pointed by Michael, one can use
BUSBDevice::GetDescriptor() to retrieve whatever descriptor, including a 
complete configuration descriptor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-24 21:02:14 +00:00
Alexander von Gluck IV
d5c8ef5d69 * add chipset flags vs isIGP
* we can now utilize these chipset
  flags throughout the driver to better id
  cards and features
* remove leftover BIOS size define from intel skel
* no *real* functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-24 17:53:22 +00:00
Alexander von Gluck IV
6f2ec43df7 * memory_base isn't what I thought it was and is 0x0
* look at PCI bar 0 (Frame buffer base) for AtomBIOS
* potential solution to #8040 ?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-24 17:03:48 +00:00
Joachim Seemer
bc096b828e Applied patch inserting newlines in error message. Closes #7953. Thanks diver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-24 15:57:18 +00:00
Alexander von Gluck IV
98421bb887 * simplify some trace statements
* add potential support for IGP chipsets
* igp code is *untested* and should work *in theory*
* potentially resolves #8040 / #8046 ?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-24 14:58:27 +00:00
Michael Lotz
edfba0bb03 Actually put a note about the Haiku specific there, so that this isn't
overlooked accidentally on future updates.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-24 10:25:41 +00:00
Michael Lotz
a3f90d5cca Unlike FreeBSD we use a ifmultiaddr struct field to store the address and let
the ifma_addr point to that. Therefore freeing it caused a misaligned free and
then a double free, resulting in heap corruption for the next user to fall
victim to. Only happened when removing multicast addresses though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-24 10:21:22 +00:00