javauis/mmapi_akn/baseline/src/cmmasnapshotevent.cpp
branchRCL_3
changeset 21 4376525cdefb
parent 14 04becd199f91
child 24 6c158198356e
equal deleted inserted replaced
19:71c436fe3ce0 21:4376525cdefb
    38 {
    38 {
    39     // image buffer need to be deleted if
    39     // image buffer need to be deleted if
    40     // event server hasn't sent this event before
    40     // event server hasn't sent this event before
    41     // middlet is destroyed
    41     // middlet is destroyed
    42     delete iImageBuffer;
    42     delete iImageBuffer;
       
    43 
    43 }
    44 }
    44 
    45 
    45 void CMMASnapshotEvent::Dispatch(JNIEnv& aJni)
    46 void CMMASnapshotEvent::Dispatch(JNIEnv& aJni)
    46 {
    47 {
    47     DEBUG("MMA::CMMASnapshotEvent::Dispatch");
    48     DEBUG("MMA::CMMASnapshotEvent::Dispatch");
    48 
    49 
    49     // create java byte array
    50     // create java byte array
    50     jbyteArray byteArray;
    51     jbyteArray byteArray;
       
    52 
    51     if (iImageBuffer)
    53     if (iImageBuffer)
    52     {
    54     {
    53         byteArray = aJni.NewByteArray(iImageBuffer->Size());
    55         byteArray = aJni.NewByteArray(iImageBuffer->Size());
    54         if (byteArray)
    56         if (byteArray)
    55         {
    57         {
    67 
    69 
    68     if (!byteArray)
    70     if (!byteArray)
    69     {
    71     {
    70         delete iImageBuffer;
    72         delete iImageBuffer;
    71         iImageBuffer = NULL; // otherwise double delete in destructor
    73         iImageBuffer = NULL; // otherwise double delete in destructor
    72 
       
    73         DEBUG("MMA::CMMASnapshotEvent::Dispatch - Failed to create ByteArray");
    74         DEBUG("MMA::CMMASnapshotEvent::Dispatch - Failed to create ByteArray");
    74         return;
    75         return;
    75     }
    76     }
    76 
    77 
    77 
    78 
    79                         iHandleEventMethod,
    80                         iHandleEventMethod,
    80                         iEventData,
    81                         iEventData,
    81                         byteArray);
    82                         byteArray);
    82 
    83 
    83     delete iImageBuffer;
    84     delete iImageBuffer;
       
    85 
    84     iImageBuffer = NULL; // otherwise double delete in destructor
    86     iImageBuffer = NULL; // otherwise double delete in destructor
       
    87     aJni.DeleteLocalRef(byteArray);
       
    88 
    85 }
    89 }
    86 
    90 
    87 //  END OF FILE
    91 //  END OF FILE