List Info

Thread: CR: Browser would blit over menu when playing in background




CR: Browser would blit over menu when playing in background
user name
2007-04-26 09:08:08

"Nokia submits this code under the terms of a commercial contribution agreement with RealNetworks, and I am authorized to contribute this code under said agreement."

 
Modified by:  shy.wardnokia.com
 
Reviewed by:
 
Date: 4/26/2007
 
Project: SymbianMmf
 
ErrorId:  PNIO-6XCGZW
 
Synopsis: Browser would blit over menu when playing in background. Due to that fact that Java never provides the MMF with a valid DisplayRegion code

was adopted to create a DisplayRegion equal to the ClipRect. This code incorrectly created a valid DisplayRegion when none existed for the Browser when it was playing

in the background. We now check to see if any DisplayRegion has been sent by client, if so this value will be used otherwise it will default to creating one equal to the ClipRect.

   
Root Cause of the problem: Implementation
 

Files Modified:
datatype/mdf/video/renderer/mdfvideoadapter.cpp
common/system/platform/symbian/symbianglobalvideoparameters.cpp
common/system/platform/pub/symbian/symbianglobalvideoparameters.h

Files Added:
 
 
Image Size and Heap Use impact: None

Module Release testing (STIF) : Yes, Local Test Cases

Test case(s) Added ; :  N/A
 
Memory leak check performed : Yes, no new leaks have been introduced
 
Platforms and Profiles Build Verified: helix-client-s60-32-mmf-mdf-arm

Platforms and Profiles Functionality verified: armv5, winscw
 
Branch: Head & 210CayS


Index: platform/symbian/symbianglobalvideoparameters.cpp
===================================================================
RCS file: /cvsroot/common/system/platform/symbian/symbianglobalvideoparameters.cpp,v
retrieving revision 1.1.2.3
diff -w -u -b -r1.1.2.3 symbianglobalvideoparameters.cpp
--- platform/symbian/symbianglobalvideoparameters.cpp ;  27 Mar 2007 15:53:14 -0000 ;     1.1.2.3
+++ platform/symbian/symbianglobalvideoparameters.cpp ;  26 Apr 2007 13:23:06 -0000
-67,6 +67,7
   m_bAntiAlias( FALSE ),
   m_rotationValue( 0 ),
   m_fHeightPerc( 100.0 ),
+  m_bValidDisplayRegion( FALSE ),
   m_fWidthPerc( 100.0 )
 #ifdef SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
   ,m_lScreenNumber( 0 ),
-152,6 +153,7
     // Fetch the clipping region.
     m_ClipRegion.Clear();
     m_ClipRegion.Copy(*(TRegion*)aRegion);
+    m_bValidDisplayRegion = TRUE;

     return retVal;
 }
-237,3 +239,8
        m_frameRect = sValue;
        return retVal;
 }
+
+HXBOOL SymbianGlobalVideoParameters::IsDisplayRegionValid(void)
+{
+       return(m_bValidDisplayRegion);
+}

Index: pub/platform/symbian/symbianglobalvideoparameters.h
===================================================================
RCS file: /cvsroot/common/system/pub/platform/symbian/symbianglobalvideoparameters.h,v
retrieving revision 1.1.2.2
diff -w -u -b -r1.1.2.2 symbianglobalvideoparameters.h
--- pub/platform/symbian/symbianglobalvideoparameters.h 27 Mar 2007 15:53:15 -0000 ;     1.1.2.2
+++ pub/platform/symbian/symbianglobalvideoparameters.h 26 Apr 2007 13:23:07 -0000
-101,6 +101,7
     HX_RESULT    SetRotationValue(UINT32 ulValue);
     HX_RESULT    GetFrameRect(HXxRect &sValue);
     HX_RESULT    SetFrameRect(HXxRect sValue);
+    HXBOOL       IsDisplayRegionValid(void);


 private:
-113,6 +114,7
     HXFLOAT        ;       m_fHeightPerc;
     HXFLOAT        ;       m_fWidthPerc;
     HXBOOL          ;      m_bDSAStatus;
+    HXBOOL          ;      m_bValidDisplayRegion;
 #ifdef SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
     INT32 ;           ;     m_lScreenNumber;
     HXBOOL          ;      m_bScreenNumberSet;

Index: mdfvideoadapter.cpp
===================================================================
RCS file: /cvsroot/datatype/mdf/video/renderer/mdfvideoadapter.cpp,v
retrieving revision 1.3.2.60
diff -w -u -b -r1.3.2.60 mdfvideoadapter.cpp
--- mdfvideoadapter.cpp 2 Apr 2007 21:02:47 -0000 ;      1.3.2.60
+++ mdfvideoadapter.cpp 26 Apr 2007 13:24:55 -0000
-1196,9 +1196,10
         (SymbianGlobalVideoParameters::Instance())->GetDisplayRegion((HXxRegion)&m_ClipRegion);

         TInt count = m_ClipRegion.Count();
-        if(count == 0)
+        if((count == 0) && ((SymbianGlobalVideoParameters::Instance())->IsDisplayRegionValid()) == FALSE)
         {
           ; //we have no region so make a region == to cliprect
+         ;  MDFVIDEOLOG_LEAVEFN2( "SetupWindow - We have no valid DisplayRregion so we making one equal to ClipRect" );
           ; m_ClipRegion.Clear();
           ; m_ClipRegion.AddRect(m_clipRect);
         }

CR: Browser would blit over menu when playing inbackground
country flaguser name
United States
2007-04-26 09:31:58
Looks good.

=============================================
Eric Hyche (ehychereal.com)
Technical Lead
RealNetworks, Inc.  

> -----Original Message-----
> From: common-dev-bounceshelixcommunity.org 
> [mailto:common-dev-bounceshelixcommunity.org] On
Behalf Of 
> Shy.Wardnokia.com
> Sent: Thursday, April 26, 2007 10:08 AM
> To: common-devhelixcommunity.org; datatype-devhelixcommunity.org
> Subject: [Common-dev] CR: Browser would blit over menu
when 
> playing inbackground
> 
> "Nokia submits this code under the terms of a
commercial 
> contribution agreement with RealNetworks, and I am
authorized 
> to contribute this code under said agreement."
> 
>   
> Modified by:  shy.wardnokia.com 
>   
> Reviewed by: 
>   
> Date: 4/26/2007 
>   
> Project: SymbianMmf 
>   
> ErrorId:  PNIO-6XCGZW 
>   
> Synopsis: Browser would blit over menu when playing in

> background. Due to that fact that Java never provides
the MMF 
> with a valid DisplayRegion code
> 
> was adopted to create a DisplayRegion equal to the
ClipRect. 
> This code incorrectly created a valid DisplayRegion
when none 
> existed for the Browser when it was playing
> 
> in the background. We now check to see if any
DisplayRegion 
> has been sent by client, if so this value will be used

> otherwise it will default to creating one equal to the
ClipRect.
> 
>     
> Root Cause of the problem: Implementation 
>   
> 
> Files Modified: 
> datatype/mdf/video/renderer/mdfvideoadapter.cpp 
>
common/system/platform/symbian/symbianglobalvideoparameters.
cpp 
>
common/system/platform/pub/symbian/symbianglobalvideoparamet
ers.h 
> 
> Files Added: 
>   
>   
> Image Size and Heap Use impact: None 
> 
> Module Release testing (STIF) : Yes, Local Test Cases 
> 
> Test case(s) Added  :  N/A 
>   
> Memory leak check performed : Yes, no new leaks have
been introduced 
>   
> Platforms and Profiles Build Verified: 
> helix-client-s60-32-mmf-mdf-arm 
> 
> Platforms and Profiles Functionality verified: armv5,
winscw 
>   
> Branch: Head & 210CayS 
> 
> 
> Index:
platform/symbian/symbianglobalvideoparameters.cpp 
>
============================================================
======= 
> RCS file: 
>
/cvsroot/common/system/platform/symbian/symbianglobalvideopa
ra
> meters.cpp,v 
> retrieving revision 1.1.2.3 
> diff -w -u -b -r1.1.2.3
symbianglobalvideoparameters.cpp 
> --- platform/symbian/symbianglobalvideoparameters.cpp  
27 
> Mar 2007 15:53:14 -0000      1.1.2.3 
> +++ platform/symbian/symbianglobalvideoparameters.cpp  
26 
> Apr 2007 13:23:06 -0000 
>  -67,6 +67,7  
>    m_bAntiAlias( FALSE ), 
>    m_rotationValue( 0 ), 
>    m_fHeightPerc( 100.0 ), 
> +  m_bValidDisplayRegion( FALSE ), 
>    m_fWidthPerc( 100.0 ) 
>  #ifdef SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT 
>    ,m_lScreenNumber( 0 ), 
>  -152,6 +153,7  
>      // Fetch the clipping region. 
>      m_ClipRegion.Clear(); 
>      m_ClipRegion.Copy(*(TRegion*)aRegion); 
> +    m_bValidDisplayRegion = TRUE; 
> 
>      return retVal; 
>  } 
>  -237,3 +239,8  
>         m_frameRect = sValue; 
>         return retVal; 
>  } 
> + 
> +HXBOOL
SymbianGlobalVideoParameters::IsDisplayRegionValid(void) 
> +{ 
> +       return(m_bValidDisplayRegion); 
> +} 
> 
> Index:
pub/platform/symbian/symbianglobalvideoparameters.h 
>
============================================================
======= 
> RCS file: 
>
/cvsroot/common/system/pub/platform/symbian/symbianglobalvid
eo
> parameters.h,v 
> retrieving revision 1.1.2.2 
> diff -w -u -b -r1.1.2.2 symbianglobalvideoparameters.h

> --- pub/platform/symbian/symbianglobalvideoparameters.h
27 
> Mar 2007 15:53:15 -0000      1.1.2.2 
> +++ pub/platform/symbian/symbianglobalvideoparameters.h
26 
> Apr 2007 13:23:07 -0000 
>  -101,6 +101,7  
>      HX_RESULT    SetRotationValue(UINT32 ulValue); 
>      HX_RESULT    GetFrameRect(HXxRect &sValue); 
>      HX_RESULT    SetFrameRect(HXxRect sValue); 
> +    HXBOOL       IsDisplayRegionValid(void); 
> 
> 
>  private: 
>  -113,6 +114,7  
>      HXFLOAT               m_fHeightPerc; 
>      HXFLOAT               m_fWidthPerc; 
>      HXBOOL                m_bDSAStatus; 
> +    HXBOOL                m_bValidDisplayRegion; 
>  #ifdef SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT 
>      INT32                 m_lScreenNumber; 
>      HXBOOL                m_bScreenNumberSet; 
> 
> Index: mdfvideoadapter.cpp 
>
============================================================
======= 
> RCS file:
/cvsroot/datatype/mdf/video/renderer/mdfvideoadapter.cpp,v 
> retrieving revision 1.3.2.60 
> diff -w -u -b -r1.3.2.60 mdfvideoadapter.cpp 
> --- mdfvideoadapter.cpp 2 Apr 2007 21:02:47 -0000      
1.3.2.60 
> +++ mdfvideoadapter.cpp 26 Apr 2007 13:24:55 -0000 
>  -1196,9 +1196,10  
>          
>
(SymbianGlobalVideoParameters::Instance())->GetDisplayReg
ion((
> HXxRegion)&m_ClipRegion); 
> 
>          TInt count = m_ClipRegion.Count(); 
> -        if(count == 0) 
> +        if((count == 0) && 
>
((SymbianGlobalVideoParameters::Instance())->IsDisplayReg
ionVa
> lid()) == FALSE) 
>          { 
>             //we have no region so make a region == to
cliprect 
> +           MDFVIDEOLOG_LEAVEFN2( "SetupWindow -
We have no 
> valid DisplayRregion so we making one equal to
ClipRect" ); 
>             m_ClipRegion.Clear(); 
>             m_ClipRegion.AddRect(m_clipRect); 
>          } 
> 
> 


_______________________________________________
Datatype-dev mailing list
Datatype-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )