Sorry about this - it was a bug introduced in Q2A 1.5.1, which meant that the width and height were not detected properly when uploading avatars. It didn't affect avatars that were uploaded to the database using a previous version.
The fix for the uploading issue is to change the following code in function qa_image_constrain_data(...) in qa-util-image.php:
$inwidth=imagesx($inimage);
$inheight=imagesy($inimage);
$outwidth=$inwidth;
$outheight=$inheight;
// always call qa_gd_image_resize(), even if the size is the same, to take care of possible PNG transparency
qa_image_constrain($outwidth, $outheight, $size);
qa_gd_image_resize($inimage, $outwidth, $outheight);
... to ...
$width=imagesx($inimage);
$height=imagesy($inimage);
// always call qa_gd_image_resize(), even if the size is the same, to take care of possible PNG transparency
qa_image_constrain($width, $height, $size);
qa_gd_image_resize($inimage, $width, $height);
But there is also the issue of displaying existing avatars which were uploaded with this problem, and which lack width/height information. The solution is to replace the following code in function qa_get_avatar_blob_html(...) in qa-app-format.php:
$html='<IMG SRC="'.qa_path('image', array('qa_blobid' => $blobid, 'qa_size' => $size), null, QA_URL_FORMAT_PARAMS).
'" WIDTH="'.$width.'" HEIGHT="'.$height.'" CLASS="qa-avatar-image"/>';
... with ...
$html='<IMG SRC="'.qa_path('image', array('qa_blobid' => $blobid, 'qa_size' => $size), null, QA_URL_FORMAT_PARAMS).
'"'.(($width && $height) ? (' WIDTH="'.$width.'" HEIGHT="'.$height.'"') : '').' CLASS="qa-avatar-image"/>';
Again, sorry about this. I will roll the fix out as Q2A 1.5.2 shortly, as soon as some people confirm that this solves the problem.