twig / dcxdll

Dialog Control eXtensions for mIRC
BSD 3-Clause "New" or "Revised" License
23 stars 2 forks source link

Image - background of the dialog periodically disappears when using animated images #69

Closed EpicNet closed 2 years ago

EpicNet commented 2 years ago

I am using "mIRC v7.67" + "DCX dll v3.1-git469" in system "Windows 8.1 x64".

When using an animated image, if first close the dialog and then quickly open it again, then its background periodically disappears and acquires the effect of transparency (as if there is no colored background) and everything under the dialog box is visible. Can work around this problem by adding a timer to the command: "/timer 1 0 /xdid -i $dname 1 +abh %image_path".

So, either this issue needs to be fixed in code, or in the reference documentation, in a note, indicate that the command that will use the animated image needs to be used with a timer to delay the animation before the background is drawn.

Would like to see a fix for this problem. Thanks.


image

Here is a test piece of script to reproduce this the problem. To run the script click on "F5" or enter the command "/image_test":

alias F5 { image_test }
alias image_test {
  if ($dialog(image_test)) .dialog -x image_test | else { .dialog -m image_test image_test }
}
dialog image_test {
  title "Image test"
  icon $mircexe,0
  option pixels
  size -1 -1 450 300
}
on *:DIALOG:image_test:init:0:{
  .dcx Mark $dname image_test_work
  .xdialog -b $dname +ty
  .xdialog -g $dname +b $rgb(20,20,27)
  .xdialog -c $dname 1 image 30 25 390 250 notheme 
  .xdid -x $dname 1 +b
  .xdid -S $dname 1 1
  .xdid -C $dname 1 +b $rgb(40,40,47)
  var %image_path image\gif\file1.gif
  if ($exists(%image_path)) .xdid -i $dname 1 +abh %image_path
}
alias image_test_work {}
OokEek commented 2 years ago

Unable to reproduce.

EpicNet commented 2 years ago

@OokEek, I have recorded a short video to demonstrate the bug:  🎥 Video1  🎥 Video2  💾 ZIP  (open in a new browser tab).

The color background of the dialog box disappears (it becomes transparent) around the control. This can catch when you quickly close and open the dialog with the "F5" key. Probably some of the configured parameters are do not have time to update to display in the dialog due permanent to the animation being played.

OokEek commented 2 years ago

Still unable to reproduce, i can only assume this has been fixed in the current build. closing for now, reopen if this persists.