Repository navigation
Remove unused native rubberband support - #26
Conversation
The Java wrappers for the native rubberband libraries were removed earlier, so the DLL, the shared library and the per-OS entries in drag-effects.xml could never be loaded. Load the default rubberband directly, report failures to create a custom one, and drop the rubberband.debug flag together with dev-props.properties.
It was only used to select the OS-specific rubberband.
|
This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again. |
|
thanks for working on this! |
| private static RubberBand createRubberBand(String implClass) { | ||
| boolean failSilent = !Boolean.getBoolean(RubberBand.DEBUG_OUTPUT); | ||
| return (RubberBand)Utilities.createInstance(implClass, RubberBand.class, failSilent); | ||
| return (RubberBand)Utilities.createInstance(implClass, RubberBand.class); |
There was a problem hiding this comment.
DockingManager still has DEV_PROPS and loads dev-props.properties in init() (line 107 and 197)
could you please remove that too? the file is gone now
| } | ||
|
|
||
| /** | ||
| * Paints the outline of the specified screen rectangle. The default |
There was a problem hiding this comment.
do we need 8 lines of javadoc for a no-op? please make it shorter :)
| <rubber-band class="org.flexdock.docking.drag.outline.x11.X11RubberBand" /> | ||
| </os> | ||
| </rubber-bands> | ||
| <rubber-bands default="org.flexdock.docking.drag.effects.RubberBand" /> |
There was a problem hiding this comment.
OsInfo was public, could you please add an entry in release-notes.txt?
Remove the unreachable XOR drawing code and the unused locals and commented-out code in DragPipeline. Delete RubberBandTest, which can not show anything with the no-op rubberband.
The dev-props.properties resource no longer exists, so copying it into the system properties during DockingManager initialization never had any effect.
ResourceManager.loadLibrary(), LIBRARY_EXTENSION and isWindowsPlatform() were only meant for the native rubberband libraries, which no longer exist.
List the rubberband cleanup, the removed public API and the 1.3.1 fixes from the reverted version bump commit.
0c5232e to
bada3bd
Compare
|
@sylvestre I have addressed the above comments. |
|
Thanks for your PR |
The native rubberband Java wrappers were already removed (see "Remove the rubberband native capabilities" in
release-notes.txt), but their resources and loading code remained. On every OS the loader tried to instantiate the missing Win32RubberBand, XlibRubberBand and X11RubberBand classes and fell back to the default RubberBand. Withrubberband.debug=true(set indev-props.properties), this printed exceptions on Linux.Changes:
RubberBand.dllandlibRubberBand.so, the<os>blocks indrag-effects.xmland the OS-based loading inEffectsManagerdev-props.propertiesand therubberband.debugflagOsInfoandos-info.xmlwhich only served OS-based loadingRubberBandan explicit no-op, clean up dead code inDragPipeline, and deleteRubberBandTestrelease-notes.txtfor these changes, the Applet removal, the build requirements, and the bug-fixes since last releaseBehaviour is unchanged: the default rubberband already drew nothing, and custom ones set through
DockingManager.setRubberBandwork as before.Closes #25