Commit Graph

40148 Commits

Author SHA1 Message Date
Clemens Zeidler
bb2e9b06ac Add multi tab support to the default decorator as discussed on the mailing list. Windows can be stacked on top of one another. All windows using the same decorator instance. This makes it easier to draw the stacked tabs and makes it possible to design more fancy looks for stacked windows. This also helps to fix some issues in S&T, e.g. when activating one window in a stacked group all windows have to be activated to ensure that all tabs are on top. This causes some flickering in tracker.
* Each Window has a reference counted WindowStack class which can be shared between stacked Windows. To keep the Decorator separated from Window there is another tab list in the Decorator now. The index of the stacked Window in the window stack is the same as the index of the tab in the Decorator. Properties like title or window focus are managed on a per tab basis now. This mean when you set the title in the Decorator you also have to specify the tab id which is equal to the window position in the stack.

* When drawing the decorator its important that only the top window is doing the drawing. Also the top window drawing engine should be used.
Actually that is only a problem directly after a window is stacked and the other window has still a none empty dirty region. In this case we clear the dirty region of this window and stop the drawing (the top window will draw everything).

* Track if shifting of a tab is still ongoing, i.e. mouse still down.

* The key event filter called the DesktopListener without holding the window write lock. This probably caused #7801 and #7796.

* Commented out assert's in Window::SetScreen and Window::Screen. Add TODO because I'm not sure about the screen access.

This breaks all existing decorators again, sorry guys! Haven't looked into any other then the default decorator (and the SAT decorator). Will not fix the others in the near future so go for it! Since applications should be able to rely on S&T features the other decorator must be able to handle multiple tabs as well. A simple solution would be to draw all title bars in multiple rows. That probably looks quit poorly. Think the better solution would be to draw a tab interface in the title bar, e.g. like in KDE.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 01:09:26 +00:00
Clemens Zeidler
5b1742af27 Remove another assert that fails. In this case the access from ServerApp is fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 00:11:33 +00:00
Clemens Zeidler
c0dad949ee BRect's OffsetBy takes a BPoint. Add a similar BRegion method to be more consistent. This one takes a const reference instead a complete BPoint object.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 23:53:12 +00:00
Clemens Zeidler
f7953fa769 Add MoveItem method to easily move a item within a list. Fix line limit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 23:49:30 +00:00
François Revol
811ac4d502 No point in checking the new device for NULL if it's not nothrow.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 18:27:05 +00:00
Jérôme Duval
0990a31aa2 fix comments
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 16:34:41 +00:00
Clemens Zeidler
d5314ec095 * It helps a lot to find thread problems when the multi locker assert macros actually doing something useful. Took me forever to finally realise that and to find a threading bug.
* Remove a superfluously assert which sends the app server into the debugger. More fixes following.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 10:50:33 +00:00
Rene Gollent
781a7c361d Relocate incorrectly placed call, and guard it as needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 02:54:59 +00:00
Rene Gollent
657d27403c Fix indentation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 01:35:31 +00:00
Rene Gollent
efc5edfaa2 * Rename and make VariableTableModel::_GetTreePath() public so VariablesView
can make use of it, and adjust existing callers.
* For nodes that need child creation to be deferred until after value
  resolution succeeds, send a request to the view to restore their view state
  once child creation is complete. This gets the view state working again
  for things like BPoints and other complex structures embedded in a BMessage.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 01:31:35 +00:00
Axel Dörfler
5fb1d0a640 * Added definitions for n_short, n_long, and n_time as expected on FreeBSD when
including in_systm.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-23 15:41:47 +00:00
Alexander von Gluck IV
422a49d2f8 * Add TMDS Set and Power controls
* Call TMDS controls if the monitor is TMDS connected


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-23 14:38:48 +00:00
Alexander von Gluck IV
9e26987aff * Tab fix
* No functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-23 01:32:25 +00:00
Alexander von Gluck IV
d17bf8d4fb * Add fancy detected monitors debug function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-23 01:27:59 +00:00
François Revol
8bcc8b379f Remove OSX crap that slipped in the bash 4.0 official sources to avoid svn complaining after removing all the ._* files around.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-22 19:40:14 +00:00
Alexander von Gluck IV
f09dc6d975 * Small bit of comment cleanup
* Rename crt_info display_info


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-22 05:14:39 +00:00
Alexander von Gluck IV
95e1d7e828 * Large refactoring of display detection and storage
* Create new display.c/h for display management
* Rename global gCRT to gDisplay
* Add CRT connection type into gDisplay
* Add CRT connection index into gDisplay
* Refactor registers for each display into gDisplay via regs
* We now shouldn't freak out too badly on multi-monitors


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-22 04:59:07 +00:00
Alexander von Gluck IV
787929837b * Add AtomBIOS memory controller callbacks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-22 01:24:26 +00:00
Alexander von Gluck IV
75f0db355c * Remove a few superfluous spaces
* Style fixes as per Axel
* Reintroduce removed OF_FAIL checks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-21 01:44:45 +00:00
Alexander von Gluck IV
372fe617b2 * Clean up OpenFirmware machine detections
* Detect OpenBIOS used in QEMU and set machine flag
  (OpenBIOS isn't 1:1 Apple OpenFirmware)
* Show at boot which machine type is detected


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-20 20:31:32 +00:00
Alexander von Gluck IV
a1a978ff21 * Clean up translation debug output
* Few small style cleanups
* No functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-20 17:06:13 +00:00
Rene Gollent
5571551261 For value nodes with deferred child creation, value loading needs to be
requested once the deferred load has been complete, otherwise their values
would never be loaded if their parent node was already expanded while stepping
through the debugger. There still remains an issue with saving/restoring view
state for such nodes though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 22:39:05 +00:00
Axel Dörfler
69b1511d01 * Don't crash on invalid EDID modes.
* This might fix #7847, as well as #7510.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 21:54:27 +00:00
Marcus Overhagen
6cb28af8fd Remove unsave usage of strncpy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 20:54:21 +00:00
Axel Dörfler
d3d53515a9 * Add the width, and height to fill_display_mode(). This should help with #7751
this time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 18:16:58 +00:00
Marcus Overhagen
c80809a3ab This should fix crashes due to bad initialization. Completely untested. Might help with ticket #3241
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 18:14:29 +00:00
Axel Dörfler
78c704eee7 * Build fix due to the changes in Screen.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 17:42:36 +00:00
Axel Dörfler
0c4f821caa * Removed the previous version of the GTF function, since a few rounding errors
have been introduced, and also support for interlace mode had been removed.
* Instead, the Screen preferences are now using the common accelerant code for
  this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 17:08:45 +00:00
Axel Dörfler
c97f0d47c1 * Coding style cleanup.
* Removed excessive debug output, and values that aren't needed for the timing
  computation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 16:59:50 +00:00
Alexander von Gluck IV
2e3b6c53ad * Clean up debugging of PowerPC mmu code to be consistent
* Clean up messge and error text
* Begin use B_PRI* macros


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 04:20:38 +00:00
Philippe Saint-Pierre
9cf506a2bf Tracker:
* Add "Arrange By" submenu in Window menu.
 * You can arrange by the same fields you can sort by in list view. Changing your sorting order in list view will change the Arrange By choice when you enter icon view and vice-versa.
 * Support ReverseSort order.
 * Keep the clean-up feature, but it's now under the Arrange By menu.

Fixing ticket #1349.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 03:52:42 +00:00
Alexandre Deckner
def39abd74 * Finally finish implementing proper selection rect autoscroll to work with the
new asynchronous mouse tracking. Sorry for the delay. Up to now it was needing
mouse moves to autoscroll, it now behaves as before.

* Removed check that was disabling regular drag'n'drop auto-scrolling when
inactive. I don't see an obvious reason why that was done, as it's just handy
and is consistent with the other behaviors when inactive.

Note, i gotta love those comments that do anything but help, good example of
how not to comment :) i.e don't comment about what will happen when the
adjacent code won't be executed (especially in a case that can't happen).
My brain almost exploded a second time trying to explain that!

// selection scrolling will also work if the window is inactive
Should read:
// disable drag'n'drop auto scrolling when window is inactive




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 17:28:29 +00:00
Rene Gollent
9918b71672 - Factor out setting up the arguments for gdb handover.
- When using the graphical debugger by default, fall back
  to setting up gdb handover if the GUI is unavailable.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 16:55:28 +00:00
Rene Gollent
de6f745cde Add support for conditionally compiling the debug_server to hand off crashed
teams to the native debugger instead. This assumes the latter is installed
in /boot/system/apps.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 15:26:56 +00:00
Ingo Weinhold
b353a9a30a ANSI C doesn't like unnamed unions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 13:57:30 +00:00
Adrien Destugues
cd4db9ee5d Update usb-floppy icon with a fixed one by jstressman (tweaks the persective and overall look of the icon). Thanks !
Fixes #6677.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 11:41:00 +00:00
Alexandre Deckner
df1c9e984e * Slight renamings, no functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 10:31:50 +00:00
Alexandre Deckner
29769e0452 * Don't do anything in MouseIdle if we're not dragging a message.
This especially avoid bringing tracker windows up to front when staying idle
over a tracker window while holding down a button. This could happen when
hovering while still holding a scroll thumb of another overlapping window.

Fixes regression #7829 introduced in r41892

* Also properly reinitialise the cached dragMessage on B_EXITED_VIEW, 
otherwise it would still think it is dragging and thus still pass through my
above fix.

I'd like to cleanup the drag message caching mechanism as it's not 
pretty in my opinion. Possibly even adding it to BView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 09:51:22 +00:00
Axel Dörfler
b2a7732258 * Don't crash if initialModes is NULL, but the count is not.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 20:37:35 +00:00
Rene Gollent
2f47fe6c8a Need to acquire a reference here as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 17:44:31 +00:00
Bruno G. Albuquerque
5eed3d9892 Fix crash in VESA accelerant.
- Keep track of the correct number of initial modes available.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 13:59:06 +00:00
Rene Gollent
07ec2fab02 Resolve TODO: If a function is selected by other means than the stack
trace view, but we have a call frame matching that function, then jump
to that frame in the stack trace view as well.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 12:57:14 +00:00
Adrien Destugues
eadad13a4f * Fix one more off-by-one error in the interpolating resampler
* Since it now doesn't crash anymore; set it as default.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 11:18:54 +00:00
Adrien Destugues
61215fd53d fix bugs in interpolating resampler :
* I got the downsampling version completely wrong. It should now be much better.
 * A small bug in the delta calculation sometimes caused an off-by-one read to the source and a crash of the media add-on server

Effect of this resampler can be heard very clearly using the following setup in Cortex :
 * Demo Audio producer producing a sinewave at any frequency (sampling rate is hardcoded at 44100Hz)
 * Audio output set to 48000 Hz
 * system mixer in between
select either resampler in the mixer and you'll hear the difference immediately.

Should finally fix #1351.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 09:15:21 +00:00
Rene Gollent
4ee20b83b4 In the case where the .eh_frame section was used, Debugger was reading the
exception table address at the wrong location, leading to totally bogus values
for the alignment factors and return register, which ultimately resulted in
failing to reconstruct the CFI. (.eh_frame Format reference:
http://refspecs.freestandards.org/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html )

Fixes #7818.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 03:01:21 +00:00
Adrien Destugues
aeba7dc609 Leftover debug output. Thanks Ryan for watchiung!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-15 18:50:14 +00:00
Adrien Destugues
a642bc78a3 Fix #7189 : linkcatkeys erases file with plain catalog data instead of writing it as a resource.
Was only a missing break in switch/case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-15 17:30:17 +00:00
Rene Gollent
0bacba20e6 Fix copyright date. Thanks to Arnold for spotting this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-15 12:26:59 +00:00
Rene Gollent
a04b45e13a Fix broken trace statement.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-14 22:41:41 +00:00
Axel Dörfler
2ff8a6237a * Fixed coding style violation introduced with the last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-14 21:30:38 +00:00