<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div>hi, it allocate twice memory for qxl->uxa in function qxl_screen_init and qxl_uxa_init</div><div>-----------------</div><div>diff --git a/src/qxl_driver.c b/src/qxl_driver.c</div><div>index 91ba6c2..6be61e4 100644</div><div>--- a/src/qxl_driver.c</div><div>+++ b/src/qxl_driver.c</div><div>@@ -746,7 +746,9 @@ qxl_screen_init (SCREEN_INIT_ARGS_DECL)</div><div>     }</div><div>     </div><div>     qxl->uxa = uxa_driver_alloc ();</div><div>-    </div><div>+    if (qxl->uxa == NULL)</div><div>+<span class="Apple-tab-span" style="white-space:pre">                </span>return FALSE;</div><div>+<span class="Apple-tab-span" style="white-space:pre">       </span></div><div> #ifndef XSPICE</div><div>     qxl->io_pages = (void *)((unsigned long)qxl->ram);</div><div>     qxl->io_pages_physical = (void *)((unsigned long)qxl->ram_physical);</div><div>diff --git a/src/qxl_uxa.c b/src/qxl_uxa.c</div><div>index 875d663..79dfe03 100644</div><div>--- a/src/qxl_uxa.c</div><div>+++ b/src/qxl_uxa.c</div><div>@@ -546,10 +546,6 @@ qxl_uxa_init (qxl_screen_t *qxl, ScreenPtr screen)</div><div> <span class="Apple-tab-span" style="white-space:pre">     </span>return FALSE;</div><div> #endif</div><div> </div><div>-    qxl->uxa = uxa_driver_alloc ();</div><div>-    if (qxl->uxa == NULL)</div><div>-<span class="Apple-tab-span" style="white-space:pre"> </span>return FALSE;</div><div>-</div><div>     memset (qxl->uxa, 0, sizeof (*qxl->uxa));</div><div> </div><div>     qxl->uxa->uxa_major = 1;</div></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>