Commit Graph

7202 Commits

Author SHA1 Message Date
Pawel Dziepak
5d0a1da8bf libroot: make all areas executable for old binaries
* If at least one image is either B_HAIKU_ABI_GCC_2_ANCIENT or
   B_HAIKU_ABI_GCC_2_BEOS almost all areas are marked as executable.
 * B_EXECUTE_AREA and B_STACK_AREA are made public. The former is enforced since
   the introduction of DEP and apps need it to correctly set area protection.
   The latter is currently needed only to recognize stack areas and fix their
   protection in compatibility mode, but may also be useful if an app wants
   to use sigaltstack from POSIX API.
2013-05-15 00:06:39 +02:00
John Scipione
f6d93b80f3 Remove the unused bounds parameter from DrawLabel
Also refactor BMenuField::Draw()
2013-05-09 21:29:13 -04:00
John Scipione
91810d8efd Use better variable names in SetDivider 2013-05-09 21:29:12 -04:00
John Scipione
df5d08a718 Style fixes to BMenuField
Rename resize to resizingMode, whitespace fixes, compare to 0 explicitly
2013-05-09 21:29:12 -04:00
Adrien Destugues
2b67ff2420 Add AddText method to AboutWindow
* Factor out the code to add some data to the about window, with a header and a content under it
 * Make this method public so it's possible to add custom entries in an about box
 * If the method is called with only the header or only the content, the text is added non-bold and non-indented (like the description entry*).
 * Make the header text bold. I'm not sure it looks that good, after all. Thoughts ?
2013-05-09 21:27:43 +02:00
John Scipione
e28ba280de BMCPrivate: Cleanup
Remove no longer needed header includes, most that I recently added
a few that were already there but just aren't needed anymore. Don't
use BPrivate::MenuPrivate namespace.
2013-05-06 18:29:34 -04:00
John Scipione
c1a7e89fc2 Put the label truncation code back in BMenuItem.
Just a few commits ago I moved the label truncation code out of
BMenuItem and into BMCMenuBar because the truncation had to happen
outside of BMenuItem. Turns out, that wasn't true so I'm moving the
label truncation back into BMenuItem and removing the _DrawItems()
method from BMCMenuBar.

Note that the code is not a copy of what was there before, but, the
updated version I created for BMCMenuBar. The main difference is that
I use menuPrivate.Padding() instead of GetItemMargins() and I always
use the width of the parent menu frame instead of using fBounds even
if the state is not MENU_STATE_CLOSED. These are changes needed for
BMCMenuBar but should work just as well for a regular BMenu.
2013-05-06 17:55:33 -04:00
John Scipione
c333966291 Draw truncated menu label in BMCPrivate, fixes #9735
...instead of in BMenuItem and remove the truncation code from BMenuItem.

The label truncation code cannot work in BMenuItem because the super
menu helpfully resizes itself to fit the menu item. So, instead we do the label
truncation in BMCPrivate making sure that BMenuItem there can't expand the
BMCMenuBar because we set the width to fMenuField->_MenuBarWidth()
explicity.

Note that this only truncates the label in BMCMenuField, i.e. the label inside
the menufield, it does nothing to the labels of the menu items in the attached
BMenu or BPopUpMenu which is exactly what we want.
2013-05-06 17:15:20 -04:00
John Scipione
2bf1592a70 Rework layout-enabled contructor for BMCMenuBar
Was passing !fixedSize into the view flags of BMenuBar, which made no sense.
Stop doing that, set fixedSize to true instead.

Remove the fixedSize parameter from this contructor, it's too late for that.
2013-05-06 17:15:19 -04:00
John Scipione
d5c51ba676 Update header comments 2013-05-06 17:15:18 -04:00
John Scipione
d97b434060 Style fixes to BMenu and related classes. 2013-05-06 17:15:17 -04:00
Rene Gollent
69d85497fd Fix update issues in BStringColumn.
In some cases, BStringColumn wouldn't properly detect that an update was
needed, and would consequently fail to truncate a string as needed with
a column resize.
2013-05-04 21:17:47 -04:00
Jérôme Duval
c162f52eaa intel_extreme and radeon_hd: some 64 bit fixes 2013-05-04 20:20:33 +02:00
Jérôme Duval
dc4e3ce337 added B_PRIxOFF 2013-05-04 15:31:04 +02:00
Philippe Houdoin
1a84d6b362 Skip timeout computation in is_syscall_restarted case. 2013-05-04 11:27:04 +02:00
Jérôme Duval
843a122fd9 MediaPlayer: some 64 bit fixes 2013-05-04 11:15:41 +02:00
Jessica Hamilton
4898c615d6 BMenu: scroll marked item into view when menu has scrollers attached.
Signed-off-by: Axel Dörfler <axeld@pinc-software.de>
2013-05-03 21:10:51 +02:00
Axel Dörfler
4e78098e7c DatagramSocket: don't use absolute timeout 0.
* Use relative instead, or else the return value will be B_TIMED_OUT instead
  of B_WOULD_BLOCK.
* This fixes bug #9734.
2013-05-03 21:03:54 +02:00
Jérôme Duval
e5d65858f2 Fix more GCC4 narrowing conversion warnings.
* Code style would be to fix.
2013-05-03 19:42:04 +02:00
Axel Dörfler
3bf9915247 Removed superfluous class definitions from OutlineListView.h
* Why?
2013-05-03 13:24:30 +00:00
John Scipione
f56bf5b03e Add class declarations to header 2013-05-02 20:13:47 -04:00
John Scipione
01b1b8bdaa BPopUpMenu style fixes 2013-05-01 22:18:56 -04:00
Rene Gollent
736cc3dcb4 Move comment to correct function. 2013-05-01 19:52:00 -04:00
Adrien Destugues
31535ac63b Make BAboutWindow modal
* Set its type to B_MODAL_WINDO, and also set B_NOT_MOVABLE
 * Since this removes the window tab, add an "Ok" button to close the window
 * Remove the GetWindow mess and just use it as any regular window
 * Adjust all callers again

The AlertPosition method doesn't seem to work right, the window pops up
offset to the right. I also noticed that some of our calls to BAboutWindow
are actually not reacable because we removed Abutrequested from the apps.
Maybe we should clean them up (locale preflet and activity monitor are examples)

More annoying is the fact that opening a modal window from a deskbar replicant
is modal against the whole deskbar. Not sure what to do about that.
2013-05-01 10:10:37 +02:00
Rene Gollent
196ab88d06 Extend debug_create_symbol_lookup_context().
- debug_create_symbol_lookup_context() now takes an image ID
  parameter that can optionally be used to restrict the symbols
  it gathers to only those of the targeted image rather than the
  entire team, allowing for significantly more lightweight usage
  when the desired image is known. The previous behavior can still
  be obtained if desired by passing -1 as said ID.

- Adjust callers.
2013-04-30 21:34:45 -04:00
John Scipione
f3decd2060 Fix #9726 Revert CenterIn() and CenterOnScreen()
... back to their previous void returning roles. AlertPosition() is used instead to
check that an alert fits within the sides of the screen and all that.

Also add another CenterOnScreen() method that takes a Screen ID
so you can center a window on another monitor that the one it is currently on
(theoretically someday anyway).
2013-04-30 20:15:33 -04:00
John Scipione
6723d9fc94 Create a BWindow::AlertPosition() method and use it
...to position alert's and open/save dialogs nicely inside of the parent window,
or if that is unavailable, the screen frame.

AlertPosition() is private (for now) but BAlert and BFilePanel are BWindow's friends so
BWindow allows those classes to touch it's privates.
2013-04-30 20:15:32 -04:00
Adrien Destugues
fd19c7366d Fix BAboutWindow lifecycle
BAboutWindow returned false in QuitRequested in order to hide instead of closing.
Not only this keeps a BLooper running for a rarely used window, but it also
prevents quitting an application in the window was not destroyed first.

 * Remove aforementioned QuitRequested method,
 * Add a static GetWindow method that returns the existing about window, if there
is one, or creates one if there is not. A boolean can be set to tell the caller
what happened,
 * Adjust all callers to use that new method, instead of managing the window themselves.
2013-04-30 21:50:24 +02:00
John Scipione
54153cc8b2 Update CenterIn() and CenterOnScreen() methods in BWindow
* These methods now return the new point after centering.
* But more importantly CenterIn() does some new adjustments to keep the window
  position inside the screen edge. If you pass the screen frame into CenterIn()
  it skips these adjustments.
2013-04-28 20:30:21 -04:00
Ingo Weinhold
274ca38fd1 BOpenHashTable::Clear(): Set fItemCount to 0
If not empty, the count would afterwards be out of sync with reality.
2013-04-27 16:21:41 -04:00
Rene Gollent
aa366c07b1 Add an information blurb option to PromptWindow.
- PromptWindow now takes a parameter which contains optional
  informational text to display above the text control.

- Adjust callers.
2013-04-27 14:04:33 -04:00
Jérôme Duval
f92b1f2eaf GCC 4.7.x finds that 1 << 31 is a signed integer, use the unsigned notation
* error: narrowing conversion of '-2147483618' from 'int' to 'uint32 {aka long unsigned int}'
 inside { } is ill-formed in C++11
2013-04-26 21:17:33 +02:00
Rene Gollent
c24adb2950 Rework DefaultNotificationService registration.
- Instead of implicitly registering and unregistering a service
  instance on construction/destruction, DefaultNotificationService
  now exports explicit Register()/Unregister() calls, which subclasses
  are expected to call when they're ready.

- Adjust all implementing subclasses. Resolves an issue with deadlocks
  when booting a DEBUG=1 build.
2013-04-22 18:42:21 -04:00
Pawel Dziepak
46575667eb Merge branch 'aslr' 2013-04-17 20:07:32 +02:00
John Scipione
af84ce79da Rename B_COLOR_WHICH_COUNT to kColorWhichCount 2013-04-16 03:44:42 -04:00
Pawel Dziepak
8614737f71 elf: restore correct region protection after relocation 2013-04-16 03:44:38 +02:00
Alexander von Gluck IV
88e9c0961a libnetwork: Check for ipv4 flag in resolv.conf
* Add option for forced IPv4 resolution.
* Helps with #8293
* Very slightly modified patch by donn
2013-04-14 17:03:32 -05:00
Siarzhuk Zharski
1f8d927251 Make Windows-1250 encoding consistent with other
In sake of consistency with other Windows CP encodings:
* print_name is expanded to "Windows Central European (CP 1250)";
* B_MS_WINDOWS_1250_CONVERSION id looks like should be added into UTF8.h;
* mime_name set to NULL as other windows codepages have. That prevents
  at least from duplicating too much 1250's in the Terminal, Mail and
  StyledEdit encodings menus.
2013-04-14 21:39:13 +02:00
Stefano Ceccherini
501201761b In case the BMenu is inside a BMenuField, override the items width to
span over the BMenuField's width. Note that if the BMenu is already
wider, we don't shrink it, at least for now.
Fixes #5015.
2013-04-13 10:31:20 +02:00
Rene Gollent
d04cbc3f3c Add missing const. 2013-04-12 23:28:46 -04:00
Pawel Dziepak
87d1bdb87c util: add secure pseudorandom number generator 2013-04-11 12:31:58 +02:00
Pawel Dziepak
69042ecd1b util: style fixes 2013-04-11 12:15:47 +02:00
Pawel Dziepak
6003243ef3 util: introduce kernel utils for pseudorandom number generation
Currently there are two generators. The fast one is the same one the scheduler
is using. The standard one is the same algorithm libroot's rand() uses. Should
there be a need for more cryptographically PRNG MD4 or MD5 might be a good
candidates.
2013-04-11 04:34:59 +02:00
John Scipione
429ae1b151 A few more style fixes to ListView and ColorSet, thanks Axel 2013-04-09 19:24:51 -04:00
Pawel Dziepak
bf65fc1dfe vm: remove B_RANDOMIZED_IMAGE_ADDRESS address specification
This address specification is actually not needed since PIC images can be
located anywhere. Only their size is restriced but that is the compiler and
linker concern. Thanks to Alex Smith for pointing that out.
2013-04-09 22:09:13 +02:00
John Scipione
63f3755c5f Many style fixes to ListView 2013-04-09 00:17:37 -04:00
Siarzhuk Zharski
b6fd91b409 Switch BUnicodeChar to wrap the ICU's UChar32 one
Improve the unicode character processing and classifying routines by
wrapping up the UChar32 procedures from ICU. That fixes functional
regression introduced in hrev38017 and allows to fix East Asian Width
problems int the Temrinal.
2013-04-07 20:14:37 +02:00
John Scipione
1b41173c8a Add diagonal arrows to ControlLook DrawArrowShape() method 2013-04-07 03:02:01 -04:00
John Scipione
ab3c19541d Move B_COLOR_WHICH_COUNT to private ServerReadOnlyMemory header.
This means the B_COLOR_WHICH_COUNT goes from being a public constant to a
private one. It sill looks like a public constant starting with a B_ though.
I hope that's not a big deal. Too bad we can't get the count of an enum.
2013-04-06 17:13:36 -04:00
John Scipione
3302521556 Remove dependence on color constants in ServerReadOnlyMemory.
This fixes a maintainance problem where you have to update this otherwise
unrelated file to keep it in sync whenever you add a color constant.

I've added a B_COLOR_WHICH_COUNT constant to the color_which enum which should
be updated to point to the newest color constants as new ones are added. I
reworked ServerReadOnlyMemory to use this constant instead of using to the
current largest color constant directly. If you use B_COLOR_WHICH_COUNT to
refer to a color in your code expect to get unpredictable and nonsensical
results. Most likely you'll get an undefined result which will return black
but don't depend on it.

The net effect of this is that ServerReadOnlyMemory doesn't need to be updated
anymore when new color constants are introduced but will continue to produce
correct results.

Eliminate kNumColors constant, replace it with B_COLOR_WHICH_COUNT
2013-04-05 22:46:22 -04:00