Open Bug 361354 Opened 18 years ago Updated 3 years ago

Consider not using get_inner_gdk_window to determine drag target widget

Categories

(Core :: Widget: Gtk, enhancement)

x86
Linux
enhancement

Tracking

()

People

(Reporter: bzbarsky, Assigned: karlt)

References

(Blocks 1 open bug)

Details

(Keywords: perf)

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?
Depends on: widget-removal
Severity: normal → major
Keywords: perf
Blocks: 331241
Assignee: nobody → karlt
QA Whiteboard: qa-not-actionable
Severity: major → --
Type: defect → enhancement
You need to log in before you can comment on or make changes to this bug.