Tracker: Fix selected text drawing with light desktop colors, and delayed update for inactive text colors on desktop

This fixes two separate issues in relation to Tracker:
1) If the desktop base color is set to a lighter color (such that black text is used for desktop items),
clicking on another window and then dragging that window over the item leads
to a black selection and text color, leaving the text unreadable. (Fix in Pose.cpp)

2) After fixing the first problem, I noticed that Tracker still didn't immediately update the color of inactive,
though still selected desktop items until another window was dragged over them. (Fix in DeskWindow.cpp)

Change-Id: I43653e23c69a7666ed8a53751b0f65622c8dc596
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5882
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
CodeforEvolution
2023-01-28 20:15:21 +00:00
committed by waddlesplash
parent 3554137fa9
commit 6d791f2040
2 changed files with 1 additions and 3 deletions
-1
View File
@@ -236,7 +236,6 @@ BDeskWindow::Init(const BMessage*)
BScreen screen(this);
fOldFrame = screen.Frame();
PoseView()->SetShowHideSelection(false);
ResizeTo(fOldFrame.Width(), fOldFrame.Height());
InitKeyIndices();
+1 -2
View File
@@ -656,8 +656,7 @@ BPose::Draw(BRect rect, const BRect& updateRect, BPoseView* poseView,
rect = widget->CalcRect(location, NULL, poseView);
bool selectDuringDraw = directDraw && selected
&& (poseView->IsDesktopWindow() || windowActive);
bool selectDuringDraw = directDraw && selected && windowActive;
if (selectDuringDraw) {
// draw with dark background to select text