opnsense-ports/mail/thunderbird/files/patch-bug1444798
Franco Fichtner 5cb21f5220 */*: sync with upstream
Taken from: HardenedBSD
2018-07-19 08:08:05 +02:00

45 lines
1.8 KiB
Text

commit 7871e211ec43
Author: sotaro <sotaro.ikeda.g@gmail.com>
Date: Fri Mar 16 21:03:59 2018 +0900
Bug 1444798 - Fix ExternalImageCallback func types r=jrmuizel
---
gfx/webrender_bindings/src/bindings.rs | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git gfx/webrender_bindings/src/bindings.rs gfx/webrender_bindings/src/bindings.rs
index 8517d7dd33e5..cf885ee713f3 100644
--- gfx/webrender_bindings/src/bindings.rs
+++ gfx/webrender_bindings/src/bindings.rs
@@ -312,8 +312,8 @@ struct WrExternalImage {
size: usize,
}
-type LockExternalImageCallback = fn(*mut c_void, WrExternalImageId, u8) -> WrExternalImage;
-type UnlockExternalImageCallback = fn(*mut c_void, WrExternalImageId, u8);
+type LockExternalImageCallback = unsafe extern "C" fn(*mut c_void, WrExternalImageId, u8) -> WrExternalImage;
+type UnlockExternalImageCallback = unsafe extern "C" fn(*mut c_void, WrExternalImageId, u8);
#[repr(C)]
pub struct WrExternalImageHandler {
@@ -327,7 +327,8 @@ impl ExternalImageHandler for WrExternalImageHandler {
id: ExternalImageId,
channel_index: u8)
-> ExternalImage {
- let image = (self.lock_func)(self.external_image_obj, id.into(), channel_index);
+
+ let image = unsafe { (self.lock_func)(self.external_image_obj, id.into(), channel_index) };
ExternalImage {
uv: TexelRect::new(image.u0, image.v0, image.u1, image.v1),
source: match image.image_type {
@@ -341,7 +342,9 @@ impl ExternalImageHandler for WrExternalImageHandler {
fn unlock(&mut self,
id: ExternalImageId,
channel_index: u8) {
- (self.unlock_func)(self.external_image_obj, id.into(), channel_index);
+ unsafe {
+ (self.unlock_func)(self.external_image_obj, id.into(), channel_index);
+ }
}
}