panels_mini's hook_uninstall() depends on code that exists in panels.module: panels_delete_display(). The panels_node module does not have this dependency, simply because that module doesn't delete the displays associated with its panels.

There are two options to solve this:
1) Don't let panels_mini delete the associated displays.
2) Include panels.module conditionally:

 if (!function_exists('panels_delete_display')) {
 require_once drupal_get_path('module', 'panels') .'/panels.module';
 }

It's been too long since I've looked at Panels code, so I'm leaving this up to you, merlin.

Comments

moshe weitzman’s picture

Comment #1

moshe weitzman commented

For D6, core recently patched to handle install dependencies properly. Not sure if we did uninstall also.

merlinofchaos’s picture

Comment #2

merlinofchaos commented

I totally hadn't thought about uninstall dependencies. I guess I"ll need to rig something up to conditionally include that code.

Also, panels_node *should* delete its panel displays when uninstalling. Thanks.

wim leers’s picture

Comment #3

wim leers
Location Ghent 🇧🇪🇪🇺
commented

We don't. Those improvements only affected installation.

merlinofchaos’s picture

Comment #4

merlinofchaos commented
Status: Active » Fixed

Committed.

Anonymous’s picture

Comment #5

(not verified) commented
Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.