Consider not using get_inner_gdk_window to determine drag target widget

NEW
Assigned to

Status

()

--
major
12 years ago
8 years ago

People

(Reporter: bzbarsky, Assigned: karlt)

Tracking

(Blocks: 1 bug, {perf})

Trunk
x86
Linux
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

12 years ago
Right now, the code in nsWindow::OnDragMotionEvent (gtk2 version) does:

2317     returnWindow = get_inner_gdk_window(thisWindow, aX, aY,
2318                                         &retx, &rety);
2319     nsWindow *innerMostWidget = NULL;
2320     innerMostWidget = get_window_for_gdk_window(returnWindow);
2321 
2322     if (!innerMostWidget)
2323         innerMostWidget = this;

The call to get_window_for_gdk_window takes up quite some profile time and more importantly hits the X server over and over getting widget geometries.

Wouldn't it make more sense to walk our child tree and thus determine which widget the point falls in?
(Reporter)

Updated

12 years ago
Depends on: 352093

Updated

10 years ago
Severity: normal → major
Keywords: perf
(Assignee)

Updated

10 years ago
Blocks: 331241
(Assignee)

Updated

8 years ago
Assignee: nobody → karlt
You need to log in before you can comment on or make changes to this bug.