Visitar URL original
Quasi memory leak in Gridstack._prepareElementByNode · Issue #505 · gridstack/gridstack.js · GitHub
Skip to content

Quasi memory leak in Gridstack._prepareElementByNode #505

Closed

Description

@DavidKDeutsch

Gridstack._prepareElementByNode uses _.extend to set the draggable options and whatnot on an added widget, e.g.:

 el
            .draggable(_.extend(this.opts.draggable, {
                containment: this.opts.isNested ? this.container.parent() : null,
                start: onStartMoving,
                stop: onEndMoving,
                drag: dragOrResize
            }))

This has the effect of modifying this.opts.draggable, setting its members to the same methods that are passed to el.draggable(). Since these new methods reference el, the widget stays in memory even after it is removed. Probably not a huge deal, as only one widget can leak at a time (as this.opts will get overwritten with the new widget's options), but it can make for a frustrating search for a leak.

Activity

  1. added a commit that references this issue on Aug 17, 2016
    12605cc
  2. added this to the v0.2.7 milestone on Aug 17, 2016
  3. radiolips commented on Aug 17, 2016

    @radiolips
    Member

    @DavidKDeutsch Wow. That was an amazing catch. I don't believe this.opts was intended to be mutated when making those _.extend calls.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions