How to disable a widget when dependent plugin is inactive?

well first of all, is_plugin_active takes the name of the plugin sub-directory/file, so passing it a classname won’t work. I’m not sure why you’re passing anything widget related if you’re checking for plugins your widget depends on.

other options are php’s class_exists and function_exists to check if plugin functions your widget uses exist. check in the widgets init hook and don’t register your widget if a class or function it depends on doesn’t exist.