Skip to content

[syncfusion_flutter_calendar] Calendar Picker Rendering Issue in Month View #2504

@mulder3062

Description

@mulder3062

Bug description

I am using the SfCalendar widget. When the parent widget wrapping SfCalendar has a small height, a rendering issue occurs after clicking the calendar picker in the header.

Steps to reproduce

  1. Add an SfCalendar widget to the screen
  2. Click the calendar picker in the SfCalendar header

Possible Cause
The issue seems to occur because the SfCalendar widget height is too small to provide enough space to render the calendar picker.

Expected Result
The calendar picker should appear at a consistent size regardless of the SfCalendar widget's height.

Code sample

Code sample
SizedBox(
  height: 120,
  child: SfCalendar(
    view: CalendarView.month,
    dataSource: _getCalendarDataSource(),
    monthViewSettings: const MonthViewSettings(
      appointmentDisplayMode: MonthAppointmentDisplayMode.appointment,
    ),
  ),
);

Screenshots or Video

Screenshots / Video demonstration Image Image

Stack Traces

Stack Traces
'dart:ui/geometry.dart': Failed assertion: line 1112 pos 15: '<optimized out>': is not true.

#0   _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:67:4)
#1   _AssertionError._throwNew (dart:core-patch/errors_patch.dart:49:5)
#2   new _RRectLike (dart:ui/geometry.dart:1112:15)
#3   new RRect._raw (dart:ui/geometry.dart)
#4   new RRect.fromRectAndRadius (dart:ui/geometry.dart:1590:12)
#5   _IYearViewRenderObject._drawTodayHighlight (package:syncfusion_flutter_datepicker/src/date_picker/year_view.dart:2748:13)
#6   _drawYearCells (package:syncfusion_flutter_datepicker/src/date_picker/year_view.dart:4345:18)
#7   _SingleSelectionRenderObject.paint (package:syncfusion_flutter_datepicker/src/date_picker/year_view.dart:2913:5)
#8   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#9   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#10   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#11   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#12   PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:176:11)
#13   PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:121:5)
#14   PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:272:7)
#15   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:253:7)
#16   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#17   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#18   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#19   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#20   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#21   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#22   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#23   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#24   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#25   RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:3367:15)
#26   RenderWrap.paint (package:flutter/src/rendering/wrap.dart:861:7)
#27   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#28   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#29   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#30   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#31   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#32   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#33   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#34   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#35   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#36   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#37   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#38   RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:3367:15)
#39   RenderStack.paintStack (package:flutter/src/rendering/stack.dart:711:5)
#40   PaintingContext.pushLayer (package:flutter/src/rendering/object.dart:518:12)
#41   PaintingContext.pushClipRect (package:flutter/src/rendering/object.dart:585:7)
#42   RenderStack.paint (package:flutter/src/rendering/stack.dart:717:38)
#43   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#44   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#45   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#46   RenderOpacity.paint (package:flutter/src/rendering/proxy_box.dart:949:11)
#47   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#48   PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:176:11)
#49   PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:121:5)
#50   PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:272:7)
#51   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:253:7)
#52   RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:3367:15)
#53   RenderStack.paintStack (package:flutter/src/rendering/stack.dart:711:5)
#54   RenderStack.paint (package:flutter/src/rendering/stack.dart:727:7)
#55   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#56   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#57   _RenderColoredBox.paint (package:flutter/src/widgets/basic.dart:8443:15)
#58   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#59   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#60   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#61   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#62   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#63   _RenderLayoutBuilder.paint (package:flutter/src/widgets/layout_builder.dart:471:15)
#64   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#65   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#66   RenderShiftedBox.paint (package:flutter/src/rendering/shifted_box.dart:81:15)
#67   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#68   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#69   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#70   RenderDecoratedBox.paint (package:flutter/src/rendering/proxy_box.dart:2444:11)
#71   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#72   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#73   RenderShiftedBox.paint (package:flutter/src/rendering/shifted_box.dart:81:15)
#74   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#75   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#76   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#77   RenderAnimatedOpacityMixin.paint (package:flutter/src/rendering/proxy_box.dart:1076:11)
#78   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#79   PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:176:11)
#80   PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:121:5)
#81   PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:272:7)
#82   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:253:7)
#83   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#84   PaintingContext.pushLayer (package:flutter/src/rendering/object.dart:518:12)
#85   PaintingContext.pushTransform (package:flutter/src/rendering/object.dart:797:7)
#86   RenderTransform.paint (package:flutter/src/rendering/proxy_box.dart:2680:27)
#87   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#88   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#89   RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:3367:15)
#90   RenderStack.paintStack (package:flutter/src/rendering/stack.dart:711:5)
#91   RenderStack.paint (package:flutter/src/rendering/stack.dart:727:7)
#92   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#93   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#94   _RenderColoredBox.paint (package:flutter/src/widgets/basic.dart:8443:15)
#95   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#96   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#97   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#98   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#99   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#100   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#101   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#102   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#103   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#104   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#105   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#106   _RenderLayoutBuilder.paint (package:flutter/src/widgets/layout_builder.dart:471:15)
#107   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#108   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#109   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#110   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#111   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#112   RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:3367:15)
#113   RenderFlex.paint (package:flutter/src/rendering/flex.dart:1317:7)
#114   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#115   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#116   RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:3367:15)
#117   RenderCustomMultiChildLayoutBox.paint (package:flutter/src/rendering/custom_layout.dart:425:5)
#118   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#119   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#120   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#121   _RenderInkFeatures.paint (package:flutter/src/material/material.dart:634:11)
#122   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#123   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#124   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#125   RenderPhysicalModel.paint.<anonymous closure> (package:flutter/src/rendering/proxy_box.dart:2184:15)
#126   PaintingContext.pushClipRRect (package:flutter/src/rendering/object.dart:622:14)
#127   RenderPhysicalModel.paint (package:flutter/src/rendering/proxy_box.dart:2171:21)
#128   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#129   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#130   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#131   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#132   PaintingContext.paintChild (package:flutter/src/rendering/object.dart:261:13)
#133   RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:13)
#134   RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:3436:7)
#135   PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:176:11)
#136   PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:121:5)
#137   PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:1322:31)
#138   PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:1332:15)
#139   RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:631:23)
#140   WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
#141   RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
#142   SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
#143   SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
#144   SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
#145   _invoke (dart:ui/hooks.dart:356:13)
#146   PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
#147   _drawFrame (dart:ui/hooks.dart:328:31)

On which target platforms have you observed this bug?

Windows, Android

Flutter Doctor output

Doctor output
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.38.7, on Microsoft Windows [Version 10.0.26200.7623], locale ko-KR)
[√] Windows Version (11 Home 64-bit, 25H2, 2009)
[√] Android toolchain - develop for Android devices (Android SDK version 36.1.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.14.20)
[√] Connected device (4 available)
[√] Network resources

Metadata

Metadata

Assignees

No one assigned

    Labels

    calendarCalendar componentsolvedSolved the query using existing solutionswaiting for customer responseCannot make further progress until the customer responds.workaround availableWorkaround available to overcome the query

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions