Unfortunately the patch does not quite do as I hoped.

Debug below shows the problem:

(-) [Main Thread      30.895] (  516) IDirectFB:          IDirectFB_Release( 
0x7bf8e0 )
(-) [Main Thread      30.896] (  516) IDirectFB:          IDirectFB_Destruct( 
0x7bf8e0 )
(-) [Main Thread      30.896] (  516) Core/Layers:        destroying context 
0x7c1c70 (FBDev Primary Layer [OSD], active)
(-) [Main Thread      30.896] (  516) Core/Layers:        
dfb_layer_remove_context (FBDev Primary Layer [OSD], 0x7c1c70)
(-) [Main Thread      30.896] (  516) Core/Layers:        
dfb_layer_context_deactivate (0x7c1c70)
(-) [Main Thread      30.897] (  516) Core/WM:            dfb_wm_set_active( 
0x7c1e90, inactive )
(-) [Main Thread      30.897] (  516) Core/Layers:        
dfb_layer_context_activate (0x7c0218)
(-) [Main Thread      30.897] (  516) Core/Layers:        realize_region( 
0x7c0d90 )
(-) [Main Thread      30.897] (  516) Core/Layers:          -> size       
720x720
(-) [Main Thread      30.898] (  516) Core/Layers:          -> format     ARGB
(-) [Main Thread      30.898] (  516) Core/Layers:          -> surf caps  
0x00000000
(-) [Main Thread      30.898] (  516) Core/Layers:          -> buffermode 2
(-) [Main Thread      30.898] (  516) Core/Layers:          -> options    
0x00000021
(-) [Main Thread      30.898] (  516) Core/Layers:          -> source     
0,0-720x720
(-) [Main Thread      30.898] (  516) Core/Layers:          -> dest       
0,0-1280x720
(-) [Main Thread      30.899] (  516) Core/Layers:          -> opacity    255
(-) [Main Thread      30.899] (  516) Core/Layers:          -> src_key    
000000 (index 0)
(-) [Main Thread      30.899] (  516) Core/Layers:          -> dst_key    
000000 (index 0)
(-) [Main Thread      30.899] (  516) Core/Layers:          -> state    
0x00000013
(-) [Main Thread      30.899] (  516) Core/Layers:          -> FROZEN!
(-) [Main Thread      30.899] (  516) Core/Surface:       dfb_surface_reconfig( 
0x7c0f38, 720x720 ARGB -> 720x720 ARGB )
(-) [Main Thread      30.900] (  516) Core/SurfBuffer:    
dfb_surface_buffer_new( ARGB )
(-) [Main Thread      30.900] (  516) Core/SurfBuffer:    
dfb_surface_buffer_new( ARGB )
(-) [Main Thread      30.900] (  516) Core/Layers:        
_dfb_layer_region_surface_listener( 0x2bbe3624, 0x7c0d90 ) <- 0x00000001
(-) [Main Thread      30.900] (  516) Core/WM:            dfb_wm_set_active( 
0x7c0438, active )
(-) [Main Thread      30.900] (  516) Core/WindowStack:   
dfb_windowstack_repaint_all( 0x7c0438 )
(-) [Main Thread      30.901] (  516) Core/WM:            dfb_wm_update_stack( 
0x7c0438, [0,0-720x720], 0x0 )
(-) [Main Thread      30.901] (  516) WM/Default:         repaint_stack( 1 
region(s), flags 0 )
(-) [Main Thread      30.901] (  516) WM/Default:           -> 0, 0 - 720x720  
(0)
(-) [Main Thread      30.901] (  516) Core/SurfBuffer:    
dfb_surface_buffer_lock( 0x7e7cd0, 0x00000002, 0x7bc248 )
(-) [Main Thread      30.902] (  516) Core/SurfBuffer:      -> GPU WRITE
(-) [Main Thread      30.902] (  516) Core/SurfBuffer:      -> no suitable 
allocation (yet)!
(-) [Main Thread      30.902] (  516) DevMem/Surfaces:    devmemTestConfig( 
0x7e7cd0 )
(-) [Main Thread      31.267] (  516) Core/SurfBuffer:    
dfb_surface_allocation_update()
(-) [Main Thread      31.267] (  516) Core/SurfBuffer:      -> increasing 
serial...
(-) [Main Thread      31.268] (  516) Core/SurfBuffer:      -> locked 1x now
(-) [Main Thread      31.268] (  516) Core/SurfBuffer:    
dfb_surface_buffer_unlock( 0x7bc248 )
(-) [Main Thread      31.268] (  516) Core/Layers:        
dfb_layer_region_flip_update( 0x7c0d90, 0x2bbe360c, 0x00000000 ) <- [0, 0 - 
720x720]
(-) [Main Thread      31.269] (  516) Core/Layers:        realize_region( 
0x7c0d90 )
(-) [Main Thread      31.269] (  516) Core/Layers:          -> size       
720x720
(-) [Main Thread      31.269] (  516) Core/Layers:          -> format     ARGB
(-) [Main Thread      31.269] (  516) Core/Layers:          -> surf caps  
0x00000000
(-) [Main Thread      31.269] (  516) Core/Layers:          -> buffermode 2
(-) [Main Thread      31.270] (  516) Core/Layers:          -> options    
0x00000021
(-) [Main Thread      31.270] (  516) Core/Layers:          -> source     
0,0-720x720
(-) [Main Thread      31.270] (  516) Core/Layers:          -> dest       
0,0-1280x720
(-) [Main Thread      31.270] (  516) Core/Layers:          -> opacity    255
(-) [Main Thread      31.270] (  516) Core/Layers:          -> src_key    
000000 (index 0)
(-) [Main Thread      31.270] (  516) Core/Layers:          -> dst_key    
000000 (index 0)
(-) [Main Thread      31.271] (  516) Core/Layers:          -> state    
0x00000007
(-) [Main Thread      31.271] (  516) Core/Layers:          => adding region to 
'FBDev Primary Layer [OSD]'
(-) [Main Thread      31.271] (  516) Core/Layers:        set_region( 0x7c0d90, 
0x7c0e8c, 0xb013377f, 0x7c0f38 )
(-) [Main Thread      31.271] (  516) Core/Layers:          -> size       
720x720
(-) [Main Thread      31.271] (  516) Core/Layers:          -> format     ARGB
(-) [Main Thread      31.272] (  516) Core/Layers:          -> surf caps  
0x00000000
(-) [Main Thread      31.272] (  516) Core/Layers:          -> buffermode 2
(-) [Main Thread      31.272] (  516) Core/Layers:          -> options    
0x00000021
(-) [Main Thread      31.272] (  516) Core/Layers:          -> source     
0,0-720x720
(-) [Main Thread      31.272] (  516) Core/Layers:          -> dest       
0,0-1280x720
(-) [Main Thread      31.272] (  516) Core/Layers:          -> opacity    255
(-) [Main Thread      31.273] (  516) Core/Layers:          -> src_key    
000000 (index 0)
(-) [Main Thread      31.273] (  516) Core/Layers:          -> dst_key    
000000 (index 0)
(-) [Main Thread      31.273] (  516) Core/Layers:          -> state    
0x0000000f
(-) [Main Thread      31.273] (  516) Core/SurfBuffer:    
dfb_surface_buffer_lock( 0x7e7ae8, 0x00000001, 0x7c0eec )
(-) [Main Thread      31.273] (  516) Core/SurfBuffer:      -> GPU READ
(-) [Main Thread      31.274] (  516) Core/SurfBuffer:      -> no suitable 
allocation (yet)!
(-) [Main Thread      31.274] (  516) DevMem/Surfaces:    devmemTestConfig( 
0x7e7ae8 )
(-) [Main Thread      31.274] (  516) Core/SurfBuffer:    
dfb_surface_allocation_update()
(-) [Main Thread      31.275] (  516) Core/SurfBuffer:      -> locked 1x now
(-) [Main Thread      31.275] (  516) Core/Layers:          => setting region 
of 'FBDev Primary Layer [OSD]'
(-) [Main Thread      31.291] (  516) Core/Layers:          -> Going to swap 
buffers...
(-) [Main Thread      31.291] (  516) Core/SurfBuffer:    
dfb_surface_buffer_unlock( 0x7c0eec )
(-) [Main Thread      31.292] (  516) Core/SurfBuffer:    
dfb_surface_buffer_lock( 0x7e7cd0, 0x00000001, 0x7c0eec )
(-) [Main Thread      31.292] (  516) Core/SurfBuffer:      -> GPU READ
(-) [Main Thread      31.292] (  516) Core/SurfBuffer:    
dfb_surface_allocation_update()
(-) [Main Thread      31.292] (  516) Core/SurfBuffer:      -> locked 1x now
(-) [Main Thread      31.292] (  516) Core/Layers:          -> Waiting for 
pending writes...
(-) [Main Thread      31.293] (  516) Core/Layers:          -> Flipping region 
using driver...
(-) [Main Thread      31.675] (  516) Core/Layers:          -> done.
(-) [Main Thread      31.675] (  516) Core/WindowStack:   
dfb_windowstack_destroy( 0x7c1e90 )
(-) [Main Thread      31.675] (  516) Core/WM:            dfb_wm_close_stack( 
0x7c1e90 )
(-) [Main Thread      31.675] (  516) Core/Layers:        destroying region 
0x7c0d90 (FBDev Primary Layer [OSD], 720x720, configured, enabled, active, 
realized)
(-) [Main Thread      31.676] (  516) Core/Layers:        unrealize_region( 
0x7c0d90 )
(-) [Main Thread      31.676] (  516) Core/Layers:          -> size       
720x720
(-) [Main Thread      31.676] (  516) Core/Layers:          -> format     ARGB
(-) [Main Thread      31.676] (  516) Core/Layers:          -> surf caps  
0x00000000
(-) [Main Thread      31.676] (  516) Core/Layers:          -> buffermode 2
(-) [Main Thread      31.676] (  516) Core/Layers:          -> options    
0x00000021
(-) [Main Thread      31.677] (  516) Core/Layers:          -> source     
0,0-720x720
(-) [Main Thread      31.677] (  516) Core/Layers:          -> dest       
0,0-1280x720
(-) [Main Thread      31.677] (  516) Core/Layers:          -> opacity    255
(-) [Main Thread      31.677] (  516) Core/Layers:          -> src_key    
000000 (index 0)
(-) [Main Thread      31.678] (  516) Core/Layers:          -> dst_key    
000000 (index 0)
(-) [Main Thread      31.678] (  516) Core/Layers:          -> state    
0x0000000f
(-) [Main Thread      31.678] (  516) Core/Layers:          => removing region 
from 'FBDev Primary Layer [OSD]'
(-) [Main Thread      31.678] (  516) Core/SurfBuffer:    
dfb_surface_buffer_unlock( 0x7c0eec )
(-) [Main Thread      31.678] (  516) Core/SurfBuffer:    
dfb_surface_buffer_destroy( 0x7e7ae8 [720x720] )
(-) [Main Thread      31.679] (  516) Core/SurfBuffer:    
dfb_surface_buffer_destroy( 0x7e7cd0 [720x720] )
(-) [Main Thread      31.679] (  516) Core/Surface:       destroying 0x7c0f38 
(720x720)
(-) [Main Thread      31.679] (  516) Core/Layers:        destroying context 
0x7c0218 (FBDev Primary Layer [OSD], active)
(-) [Main Thread      31.679] (  516) Core/Layers:        
dfb_layer_remove_context (FBDev Primary Layer [OSD], 0x7c0218)
(-) [Main Thread      31.680] (  516) Core/Layers:        
dfb_layer_context_deactivate (0x7c0218)
(-) [Main Thread      31.680] (  516) Core/WM:            dfb_wm_set_active( 
0x7c0438, inactive )
(-) [Main Thread      31.680] (  516) Core/WindowStack:   
dfb_windowstack_destroy( 0x7c0438 )
(-) [Main Thread      31.680] (  516) Core/WM:            dfb_wm_close_stack( 
0x7c0438 )
(-) [Main Thread      31.681] (  516) Core/Layers:        destroying region 
0x7c1710 (FBDev Primary Layer [Images], 720x720, configured, enabled, active, 
realized)
(-) [Main Thread      31.681] (  516) Core/Layers:        unrealize_region( 
0x7c1710 )
(-) [Main Thread      31.681] (  516) Core/Layers:          -> size       
720x720
(-) [Main Thread      31.681] (  516) Core/Layers:          -> format     ARGB
(-) [Main Thread      31.682] (  516) Core/Layers:          -> surf caps  
0x00000000
(-) [Main Thread      31.682] (  516) Core/Layers:          -> buffermode 2
(-) [Main Thread      31.682] (  516) Core/Layers:          -> options    
0x00000021
(-) [Main Thread      31.682] (  516) Core/Layers:          -> source     
0,0-720x720
(-) [Main Thread      31.682] (  516) Core/Layers:          -> dest       
0,0-1280x720
(-) [Main Thread      31.682] (  516) Core/Layers:          -> opacity    255
(-) [Main Thread      31.682] (  516) Core/Layers:          -> src_key    
000000 (index 0)
(-) [Main Thread      31.683] (  516) Core/Layers:          -> dst_key    
000000 (index 0)
(-) [Main Thread      31.683] (  516) Core/Layers:          -> state    
0x0000000f
(-) [Main Thread      31.683] (  516) Core/Layers:          => removing region 
from 'FBDev Primary Layer [Images]'
(-) [Main Thread      31.683] (  516) Core/SurfBuffer:    
dfb_surface_buffer_unlock( 0x7c186c )
(-) [Main Thread      31.683] (  516) Core/SurfBuffer:    
dfb_surface_buffer_destroy( 0x7c1b18 [720x720] )
(-) [Main Thread      32.049] (  516) Core/SurfBuffer:    
dfb_surface_buffer_destroy( 0x7c1b58 [720x720] )
(-) [Main Thread      32.050] (  516) Core/Surface:       destroying 0x7c1910 
(720x720)
(-) [Main Thread      32.050] (  516) Core/Layers:        destroying context 
0x7c11b0 (FBDev Primary Layer [Images], active)
(-) [Main Thread      32.050] (  516) Core/Layers:        
dfb_layer_remove_context (FBDev Primary Layer [Images], 0x7c11b0)
(-) [Main Thread      32.050] (  516) Core/Layers:        
dfb_layer_context_deactivate (0x7c11b0)
(-) [Main Thread      32.051] (  516) Core/WM:            dfb_wm_set_active( 
0x7c13d0, inactive )
(-) [Main Thread      32.051] (  516) Core/WindowStack:   
dfb_windowstack_destroy( 0x7c13d0 )
(-) [Main Thread      32.051] (  516) Core/WM:            dfb_wm_close_stack( 
0x7c13d0 )
(-) [Main Thread      32.051] (  516) DirectFB/Core:      dfb_core_destroy...
(-) [Main Thread      32.052] (  516) DirectFB/Core:      Shutting down...
(-) [Main Thread      32.052] (  516) Direct/Thread:      direct_thread_cancel( 
0x2c039264, 'Linux Input' 517 )
(-) [Linux Input      32.053] (  517) Direct/Thread:      
direct_thread_cleanup( 0x2c039264, 'Linux Input' 517 )
(-) [Main Thread      32.054] (  516) Direct/Thread:      direct_thread_join( 
0x2c039264, 'Linux Input' 517 )
(-) [Main Thread      32.054] (  516) Direct/Thread:        -> joining...
(-) [Main Thread      32.055] (  516) Direct/Thread:        -> joined.
(-) [Main Thread      32.055] (  516) Direct/Thread:      
direct_thread_destroy( 0x2c039264, 'Linux Input' 517 )
(-) [Main Thread      32.101] (  516) Direct/Thread:      direct_thread_cancel( 
0x2c039264, 'Linux Input' 518 )
(-) [Linux Input      32.102] (  518) Direct/Thread:      
direct_thread_cleanup( 0x2c039264, 'Linux Input' 518 )
(-) [Main Thread      32.102] (  516) Direct/Thread:      direct_thread_join( 
0x2c039264, 'Linux Input' 518 )
(-) [Main Thread      32.103] (  516) Direct/Thread:        -> joining...
(-) [Main Thread      32.103] (  516) Direct/Thread:        -> joined.
(-) [Main Thread      32.103] (  516) Direct/Thread:      
direct_thread_destroy( 0x2c039264, 'Linux Input' 518 )
(-) [Main Thread      32.213] (  516) Core/WM:            
dfb_wm_close_all_stacks( 0x7ba990 )
(-) [Main Thread      32.213] (  516) Core/WM:              -> checking 0 
stacks...
(-) [Main Thread      32.213] (  516) Core/WM:            dfb_wm_core_shutdown( 
0x7ba990, no emergency )
(-) [Main Thread      32.214] (  516) Core/Graphics:      
dfb_graphics_core_shutdown( 0x7ba018, no emergency )

The shutdown boolean you suggested gets set to true too late...
DirectFB/Core:      Shutting down...

The problem is that after calling Release on the top level interface it calls
dfb_layer_context_activate

This is what ends up clearing the FB (via activing Window manager etc).
It then destroys this context and carries on shutting down.

I will see if I can tweak the patch meanwhile any help is appreciated

many thanks
Daniel


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Daniel J Laird
Sent: 2008 Oct 15 09:22
To: Denis Oliver Kropp
Cc: directfb-dev@directfb.org
Subject: Re: [directfb-dev] Layer Clearing at shutdown in DFB 1.2.x

Yep, that's what I was in the middle of implementing.

Will try yours out now and let you know the result.
Daniel Laird

-----Original Message-----
From: Denis Oliver Kropp [mailto:[EMAIL PROTECTED]
Sent: 2008 Oct 15 09:11
To: Daniel J Laird
Cc: directfb-dev@directfb.org
Subject: Re: Layer Clearing at shutdown in DFB 1.2.x

Daniel J Laird wrote:
> I thought this might be the case,
>
> Is there anyway to know I am shutting down?
> I can see a shared->suspended flag but this is for something else.
> Have we got a way of knowing we are shutting down?

What about this?

--
Best regards,
   Denis Oliver Kropp

.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/                 |
"------------------------------------------"
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to