freebsd-ports/mail/thunderbird/files/patch-bug722975
Florian Smeets 2f4c3550c5 - update firefox and thunderbird to 15.0
- update firefox-esr, thunderbird-esr, linux-thunderbird and linux-firefox to 10.0.7
- update seamonkey and linux-seamonkey to 2.12
- update nss to 3.13.6
- update bsdipc code (posix_spawn, SysV shared memory)
- rename patches to easily track those not (yet) submitted upstream
- reduce package size, except for www/libxul[1]
- restore default objdir to what it was in 13.0
- fix mail/enigmail after thunderbird build changes
- don't accidentally pick up headers from installed ports[3]
- add support for PREFIX != LOCALBASE to Makefile.webplugins [4]
- document vulnerabilities in vuln.xml
- *miscellaneous cleanups and fixups*

Obtained from:	OpenBSD ports[1]
PR:		ports/159831, ports/160933, ports/170467[3], ports/170236 [4]
Submitted by:	avilla [4]
In collaboration with:	Jan Beich <jbeich@tormail.net> Who did most of the hard
			work.
2012-08-30 14:54:17 +00:00

61 lines
2.1 KiB
Text

# HG changeset patch
# Parent 9d3c9b863c697634e434b687d456bb82fa794ecf
# User Uli Schlachter <psychon@znc.in>
Bug 722975 - --enable-system-cairo build is broken after Bug 715658 fixed
diff --git a/mozilla/gfx/thebes/gfxPlatform.cpp b/mozilla/gfx/thebes/gfxPlatform.cpp
--- mozilla/gfx/thebes/gfxPlatform.cpp
+++ mozilla/gfx/thebes/gfxPlatform.cpp
@@ -484,21 +484,19 @@ gfxPlatform::CreateDrawTargetForSurface(
cairo_user_data_key_t kSourceSurface;
void SourceBufferDestroy(void *srcBuffer)
{
static_cast<SourceSurface*>(srcBuffer)->Release();
}
-void SourceSnapshotDetached(cairo_surface_t *nullSurf)
+void SourceSnapshotDetached(void *nullSurf)
{
- gfxImageSurface* origSurf =
- static_cast<gfxImageSurface*>(cairo_surface_get_user_data(nullSurf, &kSourceSurface));
-
+ gfxImageSurface *origSurf = static_cast<gfxImageSurface*>(nullSurf);
origSurf->SetData(&kSourceSurface, NULL, NULL);
}
RefPtr<SourceSurface>
gfxPlatform::GetSourceSurfaceForSurface(DrawTarget *aTarget, gfxASurface *aSurface)
{
void *userData = aSurface->GetData(&kSourceSurface);
@@ -588,24 +586,19 @@ gfxPlatform::GetSourceSurfaceForSurface(
}
srcBuffer = Factory::CreateWrappingDataSourceSurface(imgSurface->Data(),
imgSurface->Stride(),
size, format);
}
- cairo_surface_t *nullSurf =
- cairo_null_surface_create(CAIRO_CONTENT_COLOR_ALPHA);
- cairo_surface_set_user_data(nullSurf,
- &kSourceSurface,
- imgSurface,
- NULL);
- cairo_surface_attach_snapshot(imgSurface->CairoSurface(), nullSurf, SourceSnapshotDetached);
- cairo_surface_destroy(nullSurf);
+ cairo_surface_set_mime_data(imgSurface->CairoSurface(), "mozilla/magic",
+ (const unsigned char *) "data", 4,
+ SourceSnapshotDetached, imgSurface.get());
}
srcBuffer->AddRef();
aSurface->SetData(&kSourceSurface, srcBuffer, SourceBufferDestroy);
return srcBuffer;
}