In the fallback case where full debug information is unavailable,
query the underlying DWARF file to see if CFI is available at all.
If it isn't, skip creating function debug info objects.
...to also take the list of symbols in the image as a parameter.
This allows us to prefetch the symbols once in
ImageInfo::FinishInit() for each image and then let each specific info
subclass use them if/as needed, rather than having to do the entire
symbol lookup/sort twice for every image.
- Adjust callers accordingly.
Ã* 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.
- 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.
... 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).
...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.
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.
If attribute mode and you select a mime type, Remove then add the rows first
with the first items marked, then go through and re-mark the selected item.
* warnings about comparison between signed and unsigned integer expressions.
* the use of max_c() was superflous anyway as the result is only used for a comparison
with the left value.
* GCC lets us use a const reference to a temporary, but using it after it disappeared
is incorrect.
* reverts hrev45576 as this patch seems more correct.
* Use font relative insets and spacing for window.
* Make the input box for Integration Time more reasonably sized and right
align the label.
* Make the Install replicant into Deskbar button flush right.
* Use the standard amount of space between the Defaults and Revert buttons.
This bug occured when you selected from the mime type menu field while in
attribute mode. The rows are removed and added again but the condition string
view was left out because the menu item wasn't marked yet. Reordered to remove
row, then set marked, then add row checking if marked and adding the condition
string view based on the marked mime type. If no mime types are set it uses the
first mimetype instead which is what we want in that case.
The save panel adjustment has been kept and modified a bit to position the
window nicely. It too uses the BWindow::CenterIn() method that adjusts based
on the screen edges.
BAlert::AlertPosition() has been superceded by the new BWindow method and should
be considered deprecated. Note that the alert position is not in the direct center of the
screen, it is offset vertically like before.
* 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.
* moved the inlined BRect constructor of IntRect to the cpp file. GCC will inline the method
anyway.
* impacted methods were both AGGTextRenderer::RenderString() in
src/servers/app/drawing/Painter/AGGTextRenderer.cpp, calling the StringRenderer constructor
with a BRect reference.
* unless someone comes up with an explanation, I'll try to come with a smaller testcase to
submit this problem upstream.