Fix coverity issue
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / particle-system / particle-renderer-impl.cpp
index b86c434..87eefa5 100644 (file)
@@ -98,11 +98,11 @@ void ParticleRenderer::CreateShader()
       char key[256];
       if(streamName.empty())
       {
-        sprintf(key, "aStreamAttr_%d", i);
+        snprintf(key, sizeof(key), "aStreamAttr_%d", i);
       }
       else
       {
-        sprintf(key, "%s", streamName.c_str());
+        snprintf(key, sizeof(key), "%s", streamName.c_str());
       }
       streamAtttributes.Add(key, ATTR_TYPES[dataTypeIndex]);
 
@@ -224,20 +224,15 @@ void ParticleRenderer::CreateShader()
   {
     mTexture         = Texture::New(TextureType::TEXTURE_2D, Pixel::RGBA8888, 2u, 2u);
     auto* pixelArray = new uint32_t[4]{
-      0xFF0000FF, 0xFF0000FF, 0xFF0000FF, 0xFF0000FF};
+      0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF};
 
     auto pixelData = PixelData::New(reinterpret_cast<uint8_t*>(pixelArray), 16, 2, 2, Pixel::Format::RGBA8888, PixelData::DELETE_ARRAY);
     mTexture.Upload(pixelData);
   }
-
   mTextureSet = TextureSet::New();
   mTextureSet.SetTexture(0, mTexture);
-  // mTextureSet.SetSampler(0, Sampler());
-
   mRenderer.SetTextures(mTextureSet);
-
-  // Attach renderer to the parent actor
-  mEmitter->GetActor().AddRenderer(mRenderer);
+  mTextureSet.SetSampler(0, Sampler());
 
   if(mBlendingMode == BlendingMode::SCREEN)
   {
@@ -305,7 +300,7 @@ uint32_t ParticleRenderer::OnStreamBufferUpdate(void* streamData, size_t size)
   else
   {
     // Partial to handle
-    [[maybe_unused]] auto partialSize = (particleCount / workerCount);
+    auto partialSize = (particleCount / workerCount);
 
     struct UpdateTask
     {
@@ -348,8 +343,7 @@ uint32_t ParticleRenderer::OnStreamBufferUpdate(void* streamData, size_t size)
       }
 
       tasks.emplace_back(*this, list, index, count, streamData);
-      taskQueue.emplace_back([&t = tasks.back()](uint32_t threadId)
-                             { t.Update(); });
+      taskQueue.emplace_back([&t = tasks.back()](uint32_t threadId) { t.Update(); });
     }
 
     // Execute worker tasks
@@ -460,4 +454,12 @@ bool ParticleRenderer::Initialize()
   return false;
 }
 
-} // namespace Dali::Toolkit::ParticleSystem::Internal
\ No newline at end of file
+void ParticleRenderer::PrepareToDie()
+{
+  if(mStreamBuffer)
+  {
+    mStreamBuffer.ClearVertexBufferUpdateCallback();
+  }
+}
+
+} // namespace Dali::Toolkit::ParticleSystem::Internal