Age | Commit message (Collapse) | Author |
|
Change-Id: I755e312e3e0a69b99a8f02f7d05561b7289845ce
Reviewed-on: https://gerrit.libreoffice.org/30597
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Id5323cb6f52666f85965e11b07e4f2bca8af4e78
|
|
Previously, when a texture atlas was destroyed we teared down
the ImplOpenGLTexture even if there were OpenGLTexture instances
around. This caused that we could try to access an already
deallocated ImplOpenGLTexture which causes a seg. fault.
Now we change this so that a FixedTexture is no different than a
OpenGLTexture - we just release the reference, so any existing
OpenGLTextures for our texture would still be valid.
An additional problem is that FixedTexture registers a callback
for slot deallocation so we know when a OpenGLTextures that holds
a specific "slot" on the texture is deallocated. However if
FixedTexture is not existent anymore, the callback still gets
triggered and is trying to access invalid memory. To solve this
we need to unregister callbacks before FixedTexture is destroyed.
Additionally improve validity of a OpenGLTexture is valid. If
ImplOpenGLTexture is not allocated (nullptr) is one case, but in
addition to that if ImplOpenGLTexture has an id == 0 it also means
that it is not valid (anymore).
Change-Id: I87346198e8928e112619da62687d5856cb8aafb8
|
|
removed std::unique_ptr and std::move to make_unique in vcl/opengl/FixedTextureAtlas.cxx
Change-Id: I7cbff152c3daae68a18ec08607cac030a1f4af8e
Reviewed-on: https://gerrit.libreoffice.org/25613
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Slot mechanism in ImplOpenGLTexture was written to support needs
for FixedTextureAtlas. This commit makes the slot mechanism more
general so it can be used in other kinds of texture atlases like
PackedTextureAtlas.
The ImplOpenGLTexture still tracks slots, but it is not needed to
define beforehand how many slots there are. The deallocation has
been factored out, ImplOpenGLTexture instead calls a callback
function that a slot with a specific "slot id" has been
deallocated.
Change-Id: I23950d325b803969f958d03ebf34805687c4e620
|
|
Change-Id: I66b3eddadb172da26aa1a62f2a795895769db93b
|
|
FixedTextureAtlasManager should use ref-counted textures properly.
Also - dispose embedded textures early in VCL shutdown while we have
a valid OpenGLContext.
Also - dispose the native widget control cache earlier too.
Change-Id: Id3f7a1c3b331496616f36cbf02f83737505278a5
Reviewed-on: https://gerrit.libreoffice.org/21148
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: Ic853457871b914f9c1beb2f648bf7d9d18dce957
|
|
Change-Id: I9e5b74e5ff0348f0880972a82726178354ab7d0f
|
|
Change-Id: I7fe90c0a0033b4d9a341a4f0b8356d7f7133e93e
|