projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mask mousewheel segv bug, mask opengl sw fallback read to ram, fix tiff config withou...
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
vmodule.C
diff --git
a/cinelerra-5.1/cinelerra/vmodule.C
b/cinelerra-5.1/cinelerra/vmodule.C
index bdf0c7d8f729d5523d346696f31e6abe6778f835..1c32c3fcdd89b4671ba139192f66380e0c0b91d4 100644
(file)
--- a/
cinelerra-5.1/cinelerra/vmodule.C
+++ b/
cinelerra-5.1/cinelerra/vmodule.C
@@
-815,8
+815,14
@@
int VModule::render(VFrame *output,
VDeviceX11 *x11_device = 0;
if( use_opengl && renderengine && renderengine->video ) {
x11_device = (VDeviceX11*)renderengine->video->get_output_base();
VDeviceX11 *x11_device = 0;
if( use_opengl && renderengine && renderengine->video ) {
x11_device = (VDeviceX11*)renderengine->video->get_output_base();
- if( !x11_device->can_mask(mask_position, keyframe_set) )
+ if( !x11_device->can_mask(mask_position, keyframe_set) ) {
+ if( output->get_opengl_state() != VFrame::RAM ) {
+ int w = output->get_w(), h = output->get_h();
+ x11_device->do_camera(output, output,
+ 0,0,w,h, 0,0,w,h); // copy to ram
+ }
use_opengl = 0;
use_opengl = 0;
+ }
}
if( use_opengl && x11_device ) {
x11_device->do_mask(output, mask_position, keyframe_set,
}
if( use_opengl && x11_device ) {
x11_device->do_mask(output, mask_position, keyframe_set,