|[eclipse-pmc] PMC bug fix request: to stop exception when importing required plugins on the mac|
GOALS/BENEFITS: Here is the problem: On the Macintosh, the import wizard gets an exception when importing plugins and fragments. In 3.3 Table.remove(int, int) was not optimized and called remove(int) for each item. This was fixed in 3.4 but a new bug was introduced. Table.remove(int) updated pending operating system work before removing the item. When Table.remove(int, int) was changed to no longer call Table.remove(int), the pending work was not done, indices were wrong and an operating system error happened. There was a further problem that the pending work was not done when an item was inserted in the middle of a table. Note: Work was only pending when setRedraw(true) was called on a table. This means that any client code that called setRedraw(true), added or removed items, then called setRedraw(false), is affected. ASSOCIATED BUGS: https://bugs.eclipse.org/bugs/show_bug.cgi?id=236669 (swt error removing items in wizard) https://bugs.eclipse.org/bugs/show_bug.cgi?id=184507 (optimization that caused the error) RISKS: Very Low. We are calling code that used to be called in 3.3 for every item (now we are calling it once, before the remove() operation). PERFORMANCE IMPACT: None.
Back to the top