As i did not found a notice about this issue I consider it's as new.
Here is what i got

Notice: Trying to get property of non-object in function panels_mini_block_info() (line 78 in file .../htdocs/sites/all/modules/panels/panels_mini/panels_mini.module).
Notice: Trying to get property of non-object в function panels_mini_block_info() (line79 in file ...//htdocs/sites/all/modules/panels/panels_mini/panels_mini.module).

on some pages like http://localhost/#overlay=admin/structure/block

id do not know what information also can be useful, so, ask please:)

CommentFileSizeAuthor
#5 panels-mini-panels-cache-1480366-5.patch810 bytesJorrit

Comments

mrfelton’s picture

I am also getting this, for mini panels that are included as part of a Features module.

aschiwi’s picture

Same here, also with mini panels activated via Features. The mini panels packaged with the Feature don't show up in the ui, even though they're in code.

aschiwi’s picture

Status: Active » Postponed (maintainer needs more info)

Actually for us it must have been some sort of weird interaction with something, not a general problem. A reinstallation of a new site followed by activating our Features resulted in clean minipanels. I think this needs more info from people who still have this problem.

Jorrit’s picture

Status: Postponed (maintainer needs more info) » Active

For me, this happens because of a reference to a non-existing mini panel.

With the Devel module installed, visit /devel/php and execute:

panels_mini_load('nonexistent');
panels_mini_block_info();

The error will appear.

This occurs because panels_mini_load() will enter NULL into the $cache array and panels_mini_load_all() doesn't remove it.

I suggest adding array_filter() in panels_mini_load_all() to remove NULLs.

Jorrit’s picture

Status: Active » Needs review
StatusFileSize
new810 bytes

Here is a patch.

Gyver06’s picture

I got exactly the same issue. I just applied the patch from Jorrit #5 and guess what, it works perfectly.
I had effectively a reference to a non-existing mini-panel.
Thank you very much Jorrit for this efficient help.

ksavoie’s picture

Had the same issue, 'Jorrit' 's patch fixed it. Thanks

mh86’s picture

In my case this happened because I had deleted some mini panels blocks but the entries had not been removed from the 'block' table.

mrfelton’s picture

Similar to @mh86. Found them by running:

select * from block where module='panels_mini';

They had an empty delta. This will also find them.

select * from block where delta = '';

And this will fix it:

delete from block where delta='';

If you ever try panels_mini_load('nonexistent'); again, you will end up with another broken entry in the block table.

gotomoon’s picture

Could someone kindly tell me or direct me to an instruction how to apply Jorrit #5 patch?

Thanks!

nafmarcus’s picture

#9 (mrfelton), I deleted the offending records from the database.
But when I clear the cache, a new panels_mini block record is created with an empty delta for my theme and the error re-appears. Can you explain why this happens?

merlinofchaos’s picture

Status: Needs review » Fixed

That's really interesting. I don't really understand how this happens, but the patch makes sense. One downside is that it's going to obscure the fact that there's incorrect data in the blocks table, I think, but ultimately that is harmless.

I committed and pushed this patch.

Status: Fixed » Closed (fixed)

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

  • Commit be3bac1 on 7.x-3.x, 7.x-3.x-i18n, 8.x-3.x authored by Jorrit, committed by merlinofchaos:
    Issue #1480366 by Jorrit: Fixed notice: Trying to get property of non-...