Commit Graph

34689 Commits

Author SHA1 Message Date
Alexander von Gluck IV
77e8ac07c6 * add allocation of atombios fb scratch
* add free of allocated fb scratch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-07 05:19:42 +00:00
Alexander von Gluck IV
7a2d0c5e92 * lets not make AtomBIOS calls until our
semaphore is created :)
* delete semaphore on AtomBIOS destroy


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-07 03:48:58 +00:00
Alexander von Gluck IV
ee5d8bd0a8 * tab fix
* add atom_parse_cmd|table_header functions to evaluate
  data structure versions
* convert asic function to status_t and reflect
  execute_table result
* cleanup logic in destroy atombios parser function


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-07 03:40:23 +00:00
Adrien Destugues
ee298c8b81 * Fix DecoratorFrame() for kLeftTitledWindowLook windows
* Use it in notification window for better positionning.
Thanks augiedoggie for reporting the problem !


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-06 21:13:28 +00:00
Adrien Destugues
beb636036f Ensure the window is at the right position before showing it. Fixes #7011.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-06 10:41:45 +00:00
Adrien Destugues
9dcd41a8af Some tweakings to the notificationsystem to make it look more like a regular alert.
Feel free to improve on it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-06 09:05:55 +00:00
Alexander von Gluck IV
81e071b76e * more style cleanup
* backport additional bugfixes from drm version
* add logic to detect infinite execution loops
* add a semephore to prevent multiple executions on
  non-thread safe code ( this needs testing )


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-06 07:00:49 +00:00
Alexander von Gluck IV
7eb6bbc78c * style cleanup
* add some missing functions from drm version


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-06 04:39:47 +00:00
Alexander von Gluck IV
6da3f7d4c1 * lots of changes
* add missing header for some radeon registers
* begin removing now un-needed direct register calls
* move and refactor crtc functions
* fix function naming to be clearer
* create more AtomBIOS style calls
* this will eat your cat at the moment, don't bother testing


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-05 22:24:57 +00:00
Alexander von Gluck IV
88932cfb41 * repair time by slowing it down
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-05 05:47:31 +00:00
Alexander von Gluck IV
e7f4040697 * improve debugging in AtomBIOS atom.c parser
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-05 05:34:28 +00:00
Alexander von Gluck IV
d77ff85e1f * add required atombios.h from drm driver from linux 3.0 with a few tweaks
(we aren't taking ownership of this one.. yikes)
* add first AtomBIOS call to test the waters


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-05 02:37:05 +00:00
Clemens Zeidler
cdb351d4a4 When activating a window also bring all windows in the stack to the front layer. I used the ActivateWindow method because there is some magic involved when changing the layer position, utilising this method seems to be a safe way to do it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 22:35:27 +00:00
Clemens Zeidler
ac4853b49f When removing a window from the stack keep the mouse at the same tab position.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 22:31:42 +00:00
Jérôme Duval
0839540d1e use locking when messing ITD and SITD queues. itd->prev was becoming NULL, thus leading to KDL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 21:52:03 +00:00
Jérôme Duval
77f593de38 Patch from X512 (ticket #7408): Don't notify input server of focus change if window is not active.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 17:49:45 +00:00
Alexander von Gluck IV
7949c8cbe4 * move create_area for kernel AtomBIOS into radeon_hd_getbios
* only create_area if we found a valid AtomBIOS
* lock down write access to kernel AtomBIOS area after populating
* remove locking on kernel AtomBIOS area as it's not needed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 15:28:50 +00:00
Clemens Zeidler
747d2bb6dc Ok, ok if we redrawn the complete visible region anyway we don't have to calculate any dirt.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 05:57:56 +00:00
Clemens Zeidler
38a8938d9f Only redraw visible region.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 05:53:26 +00:00
Clemens Zeidler
57e0263ceb Don't remove the window if there is only one window in the group. Fixes #7884.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 05:33:00 +00:00
Alexander von Gluck IV
94e15508ec * clean up style
* remove some un-needed log messages
* memset area from create_area just incase
* add enabled bios read in addition to disabled one


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 04:57:42 +00:00
Alexander von Gluck IV
f0b0d6cb37 * use create_area correctly
* AtomBIOS is now loaded and passed into the radeon_hd accelerant
* correct pointer passing in bios_init
* AtomBIOS is now read and initialized by AtomBIOS parser
* feel free to start testing the driver again :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 03:55:01 +00:00
Clemens Zeidler
01d68c9728 Disable S&T debug output and fix typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 23:51:30 +00:00
Alexander von Gluck IV
2168cdbddd * bug fix, wrong offset
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 23:26:26 +00:00
Alexander von Gluck IV
3f98c1831c * create area for AtomBIOS
* clone mapped AtomBIOS area into accelerant


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 23:23:16 +00:00
Alexander von Gluck IV
c3cfda776d * don't trample PCI rom config
* better error checking
* the driver can now locate the AtomBIOS on real hw!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 21:42:28 +00:00
Jérôme Duval
b0b4ce7e95 Patch from X512 (#7408): only send input method aware messages for active windows
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 20:48:23 +00:00
Alexander von Gluck IV
77a64ff2c8 * use new PCI.h rom flags
* clean up tracing
* remove infinite loop :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 20:46:26 +00:00
Alexander von Gluck IV
5cf44dda39 * move obtaining / copying the vga bios into the driver.
* add missing r500 header
* replace r600 headers with newer one from kernel


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 18:16:10 +00:00
Alexander von Gluck IV
1d5cfc649a * move bios functions into bios.cpp
* implement various methods to pull AtomBIOS from card
* add some missing registers to headers from linux drm driver


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 03:02:57 +00:00
Clemens Zeidler
1c1415732d Move flags and look into the tab too. The flags are needed to determine e.g. whether or not the zoom button should be drawn.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 01:36:50 +00:00
Alexander von Gluck IV
8992f603ed * var typo fix in driver rom shared area creation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 23:13:45 +00:00
Alexander von Gluck IV
81cd663666 * refactor accelerant debugging
* clone VGA rom shared area in accelerant
* enable access, and make a copy of the VGA bios
* give malloc'ed VGA bios pointer to AtomBIOS parser
* Still invalid BIOS magic
* TODO : Move atomBIOS pointer and reorganize some stuff


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 23:11:15 +00:00
Clemens Zeidler
c70bf97cfc Set the top most window look when switching between windows in a stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 22:42:57 +00:00
Clemens Zeidler
55fbf11fd7 If a window is hidden remove it from the S&T group. This happens when MediaPlayer goes fullscreen. Maybe not optimal but at least consistent with terminal which also left the S&T group in fullscreen mode. This is because the terminal has no decorator in fullscreen mode and thus can't be stacked any more (maybe this should be solved in the future...). Fixes #7895, #7896.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 22:27:12 +00:00
Clemens Zeidler
1c44bb2157 Check if the dirty region is valid. Part of #7896.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 22:20:12 +00:00
Alexander von Gluck IV
39b96f9e92 * Rename PCI rom shared area.. isn't AtomBios until we verify it is
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 22:16:23 +00:00
Alexander von Gluck IV
32e7d18a75 * Quick style cleanup
* Check for failed malloc in atom_parse


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 18:14:54 +00:00
Alexander von Gluck IV
22582a297c * Map AtomBIOS specified by PCI rom into virtual memory
* Point AtomBIOS to PCI rom mapped in memory
* Things no longer crash, but we get an Invalid BIOS Magic error
  in the logs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 18:05:52 +00:00
Alexander von Gluck IV
4034e8950e * Fix Jamfile to properly reference external source file.
(thanks DeadYak!)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 16:15:32 +00:00
Alexander von Gluck IV
ef2909a10f * Move bios_info into shared info
* Pull pci_rom base address from pci subsystem
* Point AtomBIOS parser to pci rom address
  to set up and malloc atom_context
* This is untested! Don't run on an
  expensive card until I test it on a cheaper
  one!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 14:58:56 +00:00
Clemens Zeidler
817f7d8003 Check if there is still a decorator. Fixes #7894.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 10:56:39 +00:00
Clemens Zeidler
27f5d57924 Fix coding style pointed out by Axel. Thanks for the array trick haven't known this one :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 06:46:11 +00:00
Alexander von Gluck IV
5136067474 * Initial work on bios_init for setting up AtomBIOS parser
* Refactor AtomBIOS parser to use non-linux-kernel calls
  (normally I would keep it as-is and do wrappers, but the
  AtomBIOS parser has been rewritten from scratch twice
  by its creator  in the last 5 years.. so eh.
* Refactor AtomBIOS parser to be more haiku-like stylewise


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 06:07:49 +00:00
Clemens Zeidler
555ff46538 Check size limit of all stacked windows when resizing. Fixes #7893 thanks to diver (again).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 05:00:22 +00:00
Alexander von Gluck IV
b375e9cd65 * Program DATA_FORMAT to non-interlaced
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 01:07:10 +00:00
Alexander von Gluck IV
cc9e8e94d4 * Add card_info struct used by AtomBIOS parser
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 22:56:18 +00:00
Alexander von Gluck IV
2df3def596 * Remove old legacy internal AtomBIOS parser
* Import "new" AMD AtomBios Parser (aka AMD KGrids)
* Add a new global storage struct for BIOS info
  (ex. location, size, etc)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 22:41:04 +00:00
Adrien Destugues
3eb02f08d9 Style fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 17:19:54 +00:00
Clemens Zeidler
7286c86c39 Disable group keyboard navigation for now. Don't start a S&T operation if the right button is down.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 10:50:37 +00:00
Joachim Seemer
01123cf9ed Switched to a B_TRANSLATE_COMMENT because it's nt obvious that %MIT license% isn't a variable and has to be translated.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 07:03:00 +00:00
Clemens Zeidler
3b01da1b46 Add compatibility file again. Should fix #7858.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 02:44:22 +00:00
Clemens Zeidler
e089170a15 Fix the check for the max tab offset when there is only one tab.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 01:30:47 +00:00
Clemens Zeidler
bd545a2af2 Set the top layer tab when detaching a window from the stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 01:03:06 +00:00
Clemens Zeidler
2dae355ecb Fix window stack api and Desktop::WindowForClientLooperPort lock assert.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 00:56:23 +00:00
Adrien Destugues
ab7cbe31c2 Always set the palette registers even if the head is not connected. This will not do anything bad (if the display is disabled, it has no
effect), and since the test was a bit too constraining (I have an LVDS panel on head A), it would prevent setting colors for the CMAP modes.

This finally gets the \n demo working from the original binary from BeOS, without any change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-31 18:11:26 +00:00
Alexander von Gluck IV
ef3a7658fa bug fix, POWER_SHUTDOWN vs POWER_ON
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-31 16:48:59 +00:00
Adrien Destugues
e1ac525ddf * Don't eat alt+space if there is only one input method available (the shortcut is meant to switch input methods)
Makes it useable in applications and less confusing. Fixes #6468.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-31 14:45:55 +00:00
Adrien Destugues
a4506dd3e7 Fix reverse condition. This would lead to the view getting Pulse messages both from it's own MessageRunner and from BWindow.
No functional change intended :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-30 19:51:28 +00:00
Alexander von Gluck IV
0e3075fb4d * Provide device chipset in accelerant_device_info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-30 18:25:08 +00:00
Alexander von Gluck IV
6ab8261b98 * Pass device name into shared info
* Refactor MCFBsetup to be a little simpler for now
* Implement radeon accelerant_device_info for screen preflet
* Re-add CRT Power calls to display code.
* Disable blanking setting for now... just can't figure out
  what AMD wants for this.
* Remove some un-needed locking in the scaling code
* Be sure to disable VGA when set_display_mode is called
* Refactor mode setting code to loop over all possible displays
  and set the provided mode on the attached ones.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-30 17:45:14 +00:00
Joachim Seemer
f148b5ee04 Applied taos patch to fix the MIT license link. We'll see if it finally nailed the bugger when the translated catkeys arrive. Preliminarily fixes #7697. Thanks a lot.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-30 16:05:28 +00:00
Jérôme Duval
42a6ef881d Add Jian Jiang to the contributors list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-29 10:15:49 +00:00
Jérôme Duval
d6e4f54f2d Patch by Jian Chiang as part of his GSoc Project (coding style fixes by myself):
* xhci controller start operation
* command ring and event ring initialization
* No-Op Command test and real xhci irq handle
* xhci root hub support
* add Super Speed enumeration and xhci_rh.cpp into jamfile


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-29 10:06:34 +00:00
Alexander von Gluck IV
3b1fd3270e * Remove return from testing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-29 06:12:01 +00:00
Alexander von Gluck IV
eb02753779 * Little cleanup
* Add missing Idle call for connectors
* Reformulate blanking.. this should match what the
  register is after the GTF vesa call
* Set FrameBuffer to card internal address


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-29 06:10:52 +00:00
Alexander von Gluck IV
e1b9d6e674 * Add LVDS handling for TMDSB
* Fix crash situation if no monitors detected
* Assume TMDSB if no monitors sensed (temporary)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-29 03:32:01 +00:00
Clemens Zeidler
e4228c3760 Also make the right option key working as a S&T key.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-27 03:24:53 +00:00
Alexander von Gluck IV
a956672a33 * Fix a few spots where we were checking for NULL unneededly
* Fix a few spots where we *should* of been checking for NULL
  to prevent referencing a null pointer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-27 02:26:49 +00:00
Alexander von Gluck IV
13e2521356 * Fix free NULL check style violations
* Remove linux style EINVAL


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-27 01:42:43 +00:00
Clemens Zeidler
6ce29ffc97 Remove some debug left over.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 23:38:42 +00:00
Clemens Zeidler
8313747b53 As done in move, resize only the top layer window. The top layer window resizes the lower windows separately.
Use auto locker.
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 23:18:28 +00:00
Clemens Zeidler
6a0ed7da53 Move S&T back into the app server.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 22:18:55 +00:00
Alexander von Gluck IV
659fefbd43 * Insert missing case break, CID 10659
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 18:36:49 +00:00
Alexander von Gluck IV
271ed0f390 * Fix improper sizeof, CID 10628
* Improve malloc check to look for NULL, CID 10698
* Remove unused size_t


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 18:27:39 +00:00
Alexander von Gluck IV
40a5a5a0ac * Rename of_region type template as per Axel
* Rename of_support.h/cpp back to support.cpp as per Axel


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 16:42:14 +00:00
Alexander von Gluck IV
bf0e980dc4 * Fix a few style issues as per Axel
* Rename a few variables to make more sense
* OF_FAILED is a signed int.. fix return of of_address_cells
* OF_FAILED is a signed int.. fix return of of_size_cells


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 15:09:18 +00:00
Clemens Zeidler
b9bedde479 Assert the right lock, thanks Axel. Some clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 06:49:16 +00:00
Clemens Zeidler
4154a161ed Set the top tab every time when adding a new tab. This draws newly stacked tabs correctly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 06:34:34 +00:00
Clemens Zeidler
b7b6df07b8 When closing a window the window can't redraw the dirty region anymore. Mark the region of the remaining window dirty.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 06:15:41 +00:00
Clemens Zeidler
86b010824c * Draw the complete decorator off screen and copy it to the front when finished. Stippi please take a look. This fixes some flickering when drawing shifted tabs in stack mode. In stack mode the different tabs sometime repaint each other, thus the decorator has to been drawn double buffered to avoid artefacts.
* Add an option to draw the button directly, i.e. when they are clicked.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 05:53:35 +00:00
Clemens Zeidler
7c5525e834 Only allow windows with a normal thick border to S&T. Fixes #6647.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 04:37:27 +00:00
Clemens Zeidler
16aa61c46a Fix changing of the window feel and borderless windows.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 02:41:56 +00:00
Alexander von Gluck IV
ed8b50f79a small tab fix; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 22:52:00 +00:00
Clemens Zeidler
3a850e1a1a Remove empty line, thanks Axel!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 22:40:59 +00:00
Clemens Zeidler
837ad4a36f Activate only the top window in a group and not all windows. Fixes #6652 and #6616.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 22:26:44 +00:00
Alexander von Gluck IV
d24ddec4e4 * Move platform support.cpp into less generic of_support.cpp
* Add header file to support of_support.cpp
* Add support functions to obtain address and size cell lengths
* Small style cleanups
* Add support for G5 PowerPC cpus...
* Refactor memory region code to be aware of 64-bit OF addresses.
  As-is the boot loader wouldn't start on G5 systems because
  OpenFirmware memory base addresses are stored as two 32-bit
  unsigned int 'cells' vs one 32-bit unsigned int 'cell' on G3/G4.
  I removed the static struct and replaced it with a template
  and pass uint32 or uint64 depending on the address cell size.
  Thanks for the idea DeadYak!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 22:26:35 +00:00
Alexander von Gluck IV
0bb924af97 * Add 4250, 4290 PCIIDs as per #7871
* Fix a few tabs to make things consistent


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 17:39:20 +00:00
Clemens Zeidler
898878314d Fix todo and only unload listener from the last add-on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 05:07:26 +00:00
Clemens Zeidler
f4f30311aa Cleanup app server directory a bit by creating a font and a decorator sub folder.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 04:31:54 +00:00
Clemens Zeidler
418f391fb1 Fixes #7796. The decorator add-on is unloaded when not needed anymore. Avoid assigning offscreen windows a window behaviour (which lives in an add-on). When loading another add-on the offscreen window was still pointing to an invalid window behaviour.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 03:32:14 +00:00
Matt Madia
ac9cbf2906 Fixed a minor typo in the help text.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 02:13:18 +00:00
Clemens Zeidler
bdfe478e9d Fix the SATDecorator. Much of the stacking part is handled by the DefaultDecorator now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 01:10:02 +00:00
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