info->invalid_y2 = 0;\r
ReleaseMutex(info->mutex);\r
}\r
+\r
+BOOL wf_info_have_invalid_region(wfInfo* info)\r
+{\r
+ if((info->invalid_x1 >= info->invalid_x2) || (info->invalid_y1 >= info->invalid_y2))\r
+ return false;\r
+ return true;\r
+}
\ No newline at end of file
void wf_info_update_changes(wfInfo* info);\r
void wf_info_find_invalid_region(wfInfo* info);\r
void wf_info_clear_invalid_region(wfInfo* info);\r
+BOOL wf_info_have_invalid_region(wfInfo* info);\r
\r
\r
#endif
\ No newline at end of file
buf = (GETCHANGESBUF*)wfi->changeBuffer;\r
\r
\r
- if( (wfp->activated == false) )//|| ( (wfi->nextUpdate - wfi->lastUpdate) == 0) )\r
+ if( (wfp->activated == false) || (wf_info_has_subscribers(wfi) == false) )\r
return;\r
\r
- if ( (wfi->invalid_x1 >= wfi->invalid_x2) || (wfi->invalid_y1 >= wfi->invalid_y2) )\r
- return;\r
+ if ( !wf_info_have_invalid_region(wfi) )\r
+ return;\r
\r
dRes = WaitForSingleObject(wfInfoSingleton->encodeMutex, INFINITE);\r
switch(dRes)\r
{\r
case WAIT_OBJECT_0:\r
//are there changes to send?\r
- if(!wf_info_have_updates(wfInfoSingleton))\r
+ if( !wf_info_have_updates(wfInfoSingleton) || !wf_info_have_invalid_region(wfInfoSingleton) )\r
{\r
ReleaseMutex(wfInfoSingleton->encodeMutex);\r
break;\r
wf_info_updated(wfInfoSingleton);\r
printf("\tSend...\n");\r
update->SurfaceBits(update->context, &update->surface_bits_command);\r
-\r
+ //wf_info_clear_invalid_region(wfInfoSingleton);\r
ReleaseMutex(wfInfoSingleton->encodeMutex);\r
break;\r
\r