WebKit Bugzilla
Attachment 347787 Details for
Bug 188305
: [GTK] Never return an uninitialized ImageGStreamer object.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-188305-20180822160122.patch (text/plain), 3.55 KB, created by
Ms2ger (he/him; ⌚ UTC+1/+2)
on 2018-08-22 07:01:24 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Ms2ger (he/him; ⌚ UTC+1/+2)
Created:
2018-08-22 07:01:24 PDT
Size:
3.55 KB
patch
obsolete
>Subversion Revision: 235167 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 10922dc9633b88dd43b463f74641a3cbb52852c1..50b2a9d96cbe9dff4a16fb5443875a4cdf264837 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,24 @@ >+2018-08-22 Ms2ger <Ms2ger@igalia.com> >+ >+ [GTK] Never return an uninitialized ImageGStreamer object. >+ https://bugs.webkit.org/show_bug.cgi?id=188305 >+ >+ Reviewed by Philippe Normand. >+ >+ The single caller was already checking for a null return value, so >+ make that check actually do something. Also remove the null-check on >+ the return value of image(), which asserted that it would never return >+ null. >+ >+ Test: fast/canvas/canvas-createPattern-video-loading.html >+ >+ * platform/graphics/gstreamer/ImageGStreamer.h: >+ (WebCore::ImageGStreamer::createImage): Return null if m_image wasn't created. >+ (WebCore::ImageGStreamer::image): Return a reference. >+ (WebCore::ImageGStreamer::rect): Always assert that m_image is present. >+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: >+ (WebCore::MediaPlayerPrivateGStreamerBase::paint): Update for new signature. >+ > 2018-08-22 Zan Dobersek <zdobersek@igalia.com> > > [CoordGraphics] Switch to Nicosia::CompositionLayer state tracking >diff --git a/Source/WebCore/platform/graphics/gstreamer/ImageGStreamer.h b/Source/WebCore/platform/graphics/gstreamer/ImageGStreamer.h >index 40724ea725129ec510810b22b11684f3e309c25e..d0ad6986eb3436598d88d83800cd36bf8ea1cb87 100644 >--- a/Source/WebCore/platform/graphics/gstreamer/ImageGStreamer.h >+++ b/Source/WebCore/platform/graphics/gstreamer/ImageGStreamer.h >@@ -38,24 +38,28 @@ class IntSize; > > class ImageGStreamer : public RefCounted<ImageGStreamer> { > public: >- static Ref<ImageGStreamer> createImage(GstSample* sample) >+ static RefPtr<ImageGStreamer> createImage(GstSample* sample) > { >- return adoptRef(*new ImageGStreamer(sample)); >+ auto image = adoptRef(new ImageGStreamer(sample)); >+ if (!image->m_image) >+ return nullptr; >+ >+ return image; > } > ~ImageGStreamer(); > >- BitmapImage* image() >+ BitmapImage& image() > { > ASSERT(m_image); >- return m_image.get(); >+ return *m_image.get(); > } > > void setCropRect(FloatRect rect) { m_cropRect = rect; } > FloatRect rect() > { >+ ASSERT(m_image); > if (!m_cropRect.isEmpty()) > return FloatRect(m_cropRect); >- ASSERT(m_image); > return FloatRect(0, 0, m_image->size().width(), m_image->size().height()); > } > >diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp >index db6088e8b4e3c2001aa0fc50d9b5e1b0d3e448af..1edb90542b8b95f9522f69d8bf23d632111b9a60 100644 >--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp >+++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp >@@ -966,8 +966,7 @@ void MediaPlayerPrivateGStreamerBase::paint(GraphicsContext& context, const Floa > if (!gstImage) > return; > >- if (Image* image = reinterpret_cast<Image*>(gstImage->image())) >- context.drawImage(*image, rect, gstImage->rect(), paintingOptions); >+ context.drawImage(gstImage->image(), rect, gstImage->rect(), paintingOptions); > } > > #if USE(GSTREAMER_GL)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 188305
:
346478
|
346523
| 347787